// ************************************************************************ //
// AVERTISSEMENT                                                                 
// -------                                                                    
// Les types déclarés dans ce fichier ont été générés à partir de données lues 
// depuis la bibliothèque de types. Si cette dernière (via une autre bibliothèque de types 
// s'y référant) est explicitement ou indirectement ré-importée, ou la commande "Rafraîchir"  
// de l'éditeur de bibliothèque de types est activée lors de la modification de la bibliothèque 
// de types, le contenu de ce fichier sera régénéré et toutes les modifications      
// manuellement apportées seront perdues.                                     
// ************************************************************************ //

// C++ TLBWRTR : $Revision: 1.2 $
// Fichier généré le 12/11/2007 15:04:33 depuis la bibliothèque de types ci-dessous.

// ************************************************************************ //
// Bibl.Types     : C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.tlb (1)
// IID\LCID       : {BED7F4EA-1A96-11D2-8F08-00A0C9A6186D}\0
// Fichier d'aide : 
// DepndLst       : 
//   (1) v2.0 stdole, (C:\Windows\system32\stdole2.tlb)
// Bibliothèque de types parent :
//   (0) v1.0 EIC_Numerisation_ModuleDeScan, (x:\EIC.Numerisation.ModuleDeScan.tlb)
// ************************************************************************ //
#ifndef   __mscorlib_TLB_h__
#define   __mscorlib_TLB_h__

#pragma option push -b -w-inl

#include <utilcls.h>
#if !defined(__UTILCLS_H_VERSION) || (__UTILCLS_H_VERSION < 0x0500)
//
// Le code généré par l'utilitaire TLIBIMP ou par les fonctionnalités Import|TypeLibrary 
// et Import|ActiveX de C++Builder dépendent des versions spécifiques du fichier 
// en-tête UTILCLS.H trouvé dans le répertoire INCLUDE\VCL. Si une version plus 
// ancienne du fichier est détectée, vous avez probablement besoin d'une mise à jour.
//
#error "Ce fichier a besoin d'une version plus récente du fichier en-tête UTILCLS.H" \
       "Vous devez appliquer une mise à jour à votre copie de C++Builder"
#endif
#include <olectl.h>
#include <ocidl.h>
#if defined(USING_ATLVCL) || defined(USING_ATL)
#if !defined(__TLB_NO_EVENT_WRAPPERS)
#include <atl/atlmod.h>
#endif
#endif

#define TGUID System::TGUID
// *********************************************************************//
// Référence Forward à certains types VCL (pour éviter d'inclure STDVCL.HPP)    
// *********************************************************************//
namespace Stdvcl {class IStrings; class IStringsDisp;}
using namespace Stdvcl;
typedef TComInterface<IStrings> IStringsPtr;
typedef TComInterface<IStringsDisp> IStringsDispPtr;

namespace Mscorlib_tlb
{

// *********************************************************************//
// Chaîne d'aide : mscorlib.dll
// Version :    2.0
// *********************************************************************//


// *********************************************************************//
// GUIDS déclarés dans la bibliothèque de types. Préfixes utilisés :    
//   Bibliothèques de types : LIBID_xxxx                                      
//   CoClasses              : CLSID_xxxx                                      
//   DISPInterfaces         : DIID_xxxx                                       
//   Non-DISP interfaces    : IID_xxxx                                        
// *********************************************************************//
extern __declspec (package) const GUID LIBID_mscorlib;
extern __declspec (package) const GUID IID__Object;
extern __declspec (package) const GUID IID_ICloneable;
extern __declspec (package) const GUID IID_IEnumerable;
extern __declspec (package) const GUID IID_ICollection;
extern __declspec (package) const GUID IID_IList;
extern __declspec (package) const GUID IID__Array;
extern __declspec (package) const GUID IID__ValueType;
extern __declspec (package) const GUID IID_IEnumerator;
extern __declspec (package) const GUID IID_IDisposable;
extern __declspec (package) const GUID IID_IComparable;
extern __declspec (package) const GUID IID_IFormattable;
extern __declspec (package) const GUID IID_IConvertible;
extern __declspec (package) const GUID IID__Enum;
extern __declspec (package) const GUID IID__String;
extern __declspec (package) const GUID IID_IComparer;
extern __declspec (package) const GUID IID_IEqualityComparer;
extern __declspec (package) const GUID IID__StringComparer;
extern __declspec (package) const GUID GUID_StringComparison;
extern __declspec (package) const GUID IID_ISerializable;
extern __declspec (package) const GUID IID__StringBuilder;
extern __declspec (package) const GUID IID__Exception;
extern __declspec (package) const GUID CLSID_Exception;
extern __declspec (package) const GUID GUID_DateTimeKind;
extern __declspec (package) const GUID IID__SystemException;
extern __declspec (package) const GUID IID__OutOfMemoryException;
extern __declspec (package) const GUID IID__StackOverflowException;
extern __declspec (package) const GUID IID__DataMisalignedException;
extern __declspec (package) const GUID IID__ExecutionEngineException;
extern __declspec (package) const GUID IID__Delegate;
extern __declspec (package) const GUID IID__MulticastDelegate;
extern __declspec (package) const GUID IID__MemberAccessException;
extern __declspec (package) const GUID IID__Activator;
extern __declspec (package) const GUID CLSID_Activator;
extern __declspec (package) const GUID IID__AccessViolationException;
extern __declspec (package) const GUID IID__ApplicationActivator;
extern __declspec (package) const GUID IID__ApplicationException;
extern __declspec (package) const GUID IID__EventArgs;
extern __declspec (package) const GUID IID__ResolveEventArgs;
extern __declspec (package) const GUID IID__AssemblyLoadEventArgs;
extern __declspec (package) const GUID IID__ResolveEventHandler;
extern __declspec (package) const GUID IID__AssemblyLoadEventHandler;
extern __declspec (package) const GUID IID__AppDomainInitializer;
extern __declspec (package) const GUID IID__MarshalByRefObject;
extern __declspec (package) const GUID IID__AppDomain;
extern __declspec (package) const GUID IID_IEvidenceFactory;
extern __declspec (package) const GUID CLSID_AppDomain;
extern __declspec (package) const GUID IID__CrossAppDomainDelegate;
extern __declspec (package) const GUID GUID_AppDomainManagerInitializationOptions;
extern __declspec (package) const GUID IID__AppDomainManager;
extern __declspec (package) const GUID IID_IAppDomainSetup;
extern __declspec (package) const GUID CLSID_AppDomainSetup;
extern __declspec (package) const GUID GUID_LoaderOptimization;
extern __declspec (package) const GUID IID__Attribute;
extern __declspec (package) const GUID CLSID_Attribute;
extern __declspec (package) const GUID IID__LoaderOptimizationAttribute;
extern __declspec (package) const GUID IID__AppDomainUnloadedException;
extern __declspec (package) const GUID IID__ActivationArguments;
extern __declspec (package) const GUID IID__ApplicationId;
extern __declspec (package) const GUID IID__ArgumentException;
extern __declspec (package) const GUID IID__ArgumentNullException;
extern __declspec (package) const GUID IID__ArgumentOutOfRangeException;
extern __declspec (package) const GUID IID__ArithmeticException;
extern __declspec (package) const GUID IID__ArrayTypeMismatchException;
extern __declspec (package) const GUID IID__AsyncCallback;
extern __declspec (package) const GUID GUID_AttributeTargets;
extern __declspec (package) const GUID IID__AttributeUsageAttribute;
extern __declspec (package) const GUID IID__BadImageFormatException;
extern __declspec (package) const GUID GUID_Boolean;
extern __declspec (package) const GUID IID__Buffer;
extern __declspec (package) const GUID GUID_Byte;
extern __declspec (package) const GUID IID__CannotUnloadAppDomainException;
extern __declspec (package) const GUID GUID_Char;
extern __declspec (package) const GUID IID__CharEnumerator;
extern __declspec (package) const GUID IID__CLSCompliantAttribute;
extern __declspec (package) const GUID IID__TypeUnloadedException;
extern __declspec (package) const GUID IID__Thread;
extern __declspec (package) const GUID IID__CriticalFinalizerObject;
extern __declspec (package) const GUID IID__ContextMarshalException;
extern __declspec (package) const GUID IID__ContextBoundObject;
extern __declspec (package) const GUID IID__ContextStaticAttribute;
extern __declspec (package) const GUID IID__TimeZone;
extern __declspec (package) const GUID GUID_DayOfWeek;
extern __declspec (package) const GUID IID__DBNull;
extern __declspec (package) const GUID GUID_Decimal;
extern __declspec (package) const GUID IID__Binder;
extern __declspec (package) const GUID IID_IObjectReference;
extern __declspec (package) const GUID IID__DivideByZeroException;
extern __declspec (package) const GUID GUID_Double;
extern __declspec (package) const GUID IID__DuplicateWaitObjectException;
extern __declspec (package) const GUID IID__TypeLoadException;
extern __declspec (package) const GUID IID__EntryPointNotFoundException;
extern __declspec (package) const GUID IID__DllNotFoundException;
extern __declspec (package) const GUID GUID_EnvironmentVariableTarget;
extern __declspec (package) const GUID IID__Environment;
extern __declspec (package) const GUID GUID_SpecialFolder;
extern __declspec (package) const GUID IID__EventHandler;
extern __declspec (package) const GUID IID__FieldAccessException;
extern __declspec (package) const GUID IID__FlagsAttribute;
extern __declspec (package) const GUID IID__FormatException;
extern __declspec (package) const GUID GUID_Guid;
extern __declspec (package) const GUID IID_IAsyncResult;
extern __declspec (package) const GUID IID_ICustomFormatter;
extern __declspec (package) const GUID IID_IFormatProvider;
extern __declspec (package) const GUID IID__IndexOutOfRangeException;
extern __declspec (package) const GUID GUID_Int16;
extern __declspec (package) const GUID GUID_Int32;
extern __declspec (package) const GUID GUID_Int64;
extern __declspec (package) const GUID GUID_IntPtr;
extern __declspec (package) const GUID IID__InvalidCastException;
extern __declspec (package) const GUID IID__InvalidOperationException;
extern __declspec (package) const GUID IID__InvalidProgramException;
extern __declspec (package) const GUID IID__LocalDataStoreSlot;
extern __declspec (package) const GUID IID__MethodAccessException;
extern __declspec (package) const GUID GUID_MidpointRounding;
extern __declspec (package) const GUID IID__MissingMemberException;
extern __declspec (package) const GUID IID__MissingFieldException;
extern __declspec (package) const GUID IID__MissingMethodException;
extern __declspec (package) const GUID IID__MulticastNotSupportedException;
extern __declspec (package) const GUID IID__NonSerializedAttribute;
extern __declspec (package) const GUID IID__NotFiniteNumberException;
extern __declspec (package) const GUID IID__NotImplementedException;
extern __declspec (package) const GUID IID__NotSupportedException;
extern __declspec (package) const GUID IID__NullReferenceException;
extern __declspec (package) const GUID IID__ObjectDisposedException;
extern __declspec (package) const GUID IID__ObsoleteAttribute;
extern __declspec (package) const GUID IID__OperatingSystem;
extern __declspec (package) const GUID IID__OperationCanceledException;
extern __declspec (package) const GUID IID__OverflowException;
extern __declspec (package) const GUID IID__ParamArrayAttribute;
extern __declspec (package) const GUID GUID_PlatformID;
extern __declspec (package) const GUID IID__PlatformNotSupportedException;
extern __declspec (package) const GUID IID__Random;
extern __declspec (package) const GUID IID__RankException;
extern __declspec (package) const GUID IID_ICustomAttributeProvider;
extern __declspec (package) const GUID IID__MemberInfo;
extern __declspec (package) const GUID CLSID_MemberInfo;
extern __declspec (package) const GUID IID__Type;
extern __declspec (package) const GUID IID_IReflect;
extern __declspec (package) const GUID CLSID_Type;
extern __declspec (package) const GUID GUID_RuntimeArgumentHandle;
extern __declspec (package) const GUID GUID_RuntimeTypeHandle;
extern __declspec (package) const GUID GUID_RuntimeMethodHandle;
extern __declspec (package) const GUID GUID_RuntimeFieldHandle;
extern __declspec (package) const GUID GUID_ModuleHandle;
extern __declspec (package) const GUID GUID_SByte;
extern __declspec (package) const GUID IID__SerializableAttribute;
extern __declspec (package) const GUID GUID_Single;
extern __declspec (package) const GUID IID__TimeoutException;
extern __declspec (package) const GUID GUID_TimeSpan;
extern __declspec (package) const GUID GUID_TypeCode;
extern __declspec (package) const GUID GUID_TypedReference;
extern __declspec (package) const GUID IID__TypeInitializationException;
extern __declspec (package) const GUID GUID_UInt16;
extern __declspec (package) const GUID GUID_UInt32;
extern __declspec (package) const GUID GUID_UInt64;
extern __declspec (package) const GUID GUID_UIntPtr;
extern __declspec (package) const GUID IID__UnauthorizedAccessException;
extern __declspec (package) const GUID IID__UnhandledExceptionEventArgs;
extern __declspec (package) const GUID IID__UnhandledExceptionEventHandler;
extern __declspec (package) const GUID IID__Version;
extern __declspec (package) const GUID GUID_Void;
extern __declspec (package) const GUID IID__WeakReference;
extern __declspec (package) const GUID IID__WaitHandle;
extern __declspec (package) const GUID IID__EventWaitHandle;
extern __declspec (package) const GUID IID__AutoResetEvent;
extern __declspec (package) const GUID IID__ContextCallback;
extern __declspec (package) const GUID IID_IObjectHandle;
extern __declspec (package) const GUID GUID_LockCookie;
extern __declspec (package) const GUID IID__ManualResetEvent;
extern __declspec (package) const GUID IID__Monitor;
extern __declspec (package) const GUID IID__Mutex;
extern __declspec (package) const GUID GUID_NativeOverlapped;
extern __declspec (package) const GUID IID__Overlapped;
extern __declspec (package) const GUID IID__ReaderWriterLock;
extern __declspec (package) const GUID IID__SynchronizationLockException;
extern __declspec (package) const GUID CLSID_Thread;
extern __declspec (package) const GUID IID__ThreadAbortException;
extern __declspec (package) const GUID IID__ThreadInterruptedException;
extern __declspec (package) const GUID IID__RegisteredWaitHandle;
extern __declspec (package) const GUID IID__WaitCallback;
extern __declspec (package) const GUID IID__WaitOrTimerCallback;
extern __declspec (package) const GUID IID__IOCompletionCallback;
extern __declspec (package) const GUID GUID_ThreadPriority;
extern __declspec (package) const GUID IID__ThreadStart;
extern __declspec (package) const GUID GUID_ThreadState;
extern __declspec (package) const GUID IID__ThreadStateException;
extern __declspec (package) const GUID IID__ThreadStaticAttribute;
extern __declspec (package) const GUID IID__Timeout;
extern __declspec (package) const GUID IID__TimerCallback;
extern __declspec (package) const GUID IID__Timer;
extern __declspec (package) const GUID GUID_ApartmentState;
extern __declspec (package) const GUID IID__STAThreadAttribute;
extern __declspec (package) const GUID IID__MTAThreadAttribute;
extern __declspec (package) const GUID IID__ArrayList;
extern __declspec (package) const GUID IID__BitArray;
extern __declspec (package) const GUID IID__CaseInsensitiveComparer;
extern __declspec (package) const GUID IID_IHashCodeProvider;
extern __declspec (package) const GUID IID__CaseInsensitiveHashCodeProvider;
extern __declspec (package) const GUID IID__CollectionBase;
extern __declspec (package) const GUID IID__Comparer;
extern __declspec (package) const GUID IID_IDictionary;
extern __declspec (package) const GUID IID__DictionaryBase;
extern __declspec (package) const GUID GUID_DictionaryEntry;
extern __declspec (package) const GUID IID_IDictionaryEnumerator;
extern __declspec (package) const GUID IID_IDeserializationCallback;
extern __declspec (package) const GUID IID__Hashtable;
extern __declspec (package) const GUID IID__Queue;
extern __declspec (package) const GUID IID__ReadOnlyCollectionBase;
extern __declspec (package) const GUID IID__SortedList;
extern __declspec (package) const GUID IID__Stack;
extern __declspec (package) const GUID IID__Nullable;
extern __declspec (package) const GUID IID__KeyNotFoundException;
extern __declspec (package) const GUID IID__ConditionalAttribute;
extern __declspec (package) const GUID IID__Debugger;
extern __declspec (package) const GUID IID__DebuggerStepThroughAttribute;
extern __declspec (package) const GUID IID__DebuggerStepperBoundaryAttribute;
extern __declspec (package) const GUID IID__DebuggerHiddenAttribute;
extern __declspec (package) const GUID IID__DebuggerNonUserCodeAttribute;
extern __declspec (package) const GUID IID__DebuggableAttribute;
extern __declspec (package) const GUID GUID_DebuggingModes;
extern __declspec (package) const GUID GUID_DebuggerBrowsableState;
extern __declspec (package) const GUID IID__DebuggerBrowsableAttribute;
extern __declspec (package) const GUID IID__DebuggerTypeProxyAttribute;
extern __declspec (package) const GUID IID__DebuggerDisplayAttribute;
extern __declspec (package) const GUID IID__DebuggerVisualizerAttribute;
extern __declspec (package) const GUID IID__StackTrace;
extern __declspec (package) const GUID IID__StackFrame;
extern __declspec (package) const GUID IID_ISymbolBinder;
extern __declspec (package) const GUID IID_ISymbolBinder1;
extern __declspec (package) const GUID IID_ISymbolDocument;
extern __declspec (package) const GUID IID_ISymbolDocumentWriter;
extern __declspec (package) const GUID IID_ISymbolMethod;
extern __declspec (package) const GUID IID_ISymbolNamespace;
extern __declspec (package) const GUID IID_ISymbolReader;
extern __declspec (package) const GUID IID_ISymbolScope;
extern __declspec (package) const GUID IID_ISymbolVariable;
extern __declspec (package) const GUID IID_ISymbolWriter;
extern __declspec (package) const GUID GUID_SymAddressKind;
extern __declspec (package) const GUID IID__SymDocumentType;
extern __declspec (package) const GUID IID__SymLanguageType;
extern __declspec (package) const GUID IID__SymLanguageVendor;
extern __declspec (package) const GUID GUID_SymbolToken;
extern __declspec (package) const GUID IID__AmbiguousMatchException;
extern __declspec (package) const GUID IID__ModuleResolveEventHandler;
extern __declspec (package) const GUID IID__Assembly;
extern __declspec (package) const GUID CLSID_Assembly;
extern __declspec (package) const GUID IID__AssemblyCopyrightAttribute;
extern __declspec (package) const GUID IID__AssemblyTrademarkAttribute;
extern __declspec (package) const GUID IID__AssemblyProductAttribute;
extern __declspec (package) const GUID IID__AssemblyCompanyAttribute;
extern __declspec (package) const GUID IID__AssemblyDescriptionAttribute;
extern __declspec (package) const GUID IID__AssemblyTitleAttribute;
extern __declspec (package) const GUID IID__AssemblyConfigurationAttribute;
extern __declspec (package) const GUID IID__AssemblyDefaultAliasAttribute;
extern __declspec (package) const GUID IID__AssemblyInformationalVersionAttribute;
extern __declspec (package) const GUID IID__AssemblyFileVersionAttribute;
extern __declspec (package) const GUID IID__AssemblyCultureAttribute;
extern __declspec (package) const GUID IID__AssemblyVersionAttribute;
extern __declspec (package) const GUID IID__AssemblyKeyFileAttribute;
extern __declspec (package) const GUID IID__AssemblyDelaySignAttribute;
extern __declspec (package) const GUID IID__AssemblyAlgorithmIdAttribute;
extern __declspec (package) const GUID IID__AssemblyFlagsAttribute;
extern __declspec (package) const GUID IID__AssemblyKeyNameAttribute;
extern __declspec (package) const GUID IID__AssemblyName;
extern __declspec (package) const GUID CLSID_AssemblyName;
extern __declspec (package) const GUID IID__AssemblyNameProxy;
extern __declspec (package) const GUID GUID_AssemblyNameFlags;
extern __declspec (package) const GUID GUID_ProcessorArchitecture;
extern __declspec (package) const GUID IID__CustomAttributeFormatException;
extern __declspec (package) const GUID GUID_BindingFlags;
extern __declspec (package) const GUID GUID_CallingConventions;
extern __declspec (package) const GUID IID__MethodBase;
extern __declspec (package) const GUID IID__MethodInfo;
extern __declspec (package) const GUID IID__ConstructorInfo;
extern __declspec (package) const GUID IID__FieldInfo;
extern __declspec (package) const GUID IID__PropertyInfo;
extern __declspec (package) const GUID IID__EventInfo;
extern __declspec (package) const GUID IID__ParameterInfo;
extern __declspec (package) const GUID IID__Module;
extern __declspec (package) const GUID IID__CustomAttributeData;
extern __declspec (package) const GUID GUID_CustomAttributeTypedArgument;
extern __declspec (package) const GUID GUID_CustomAttributeNamedArgument;
extern __declspec (package) const GUID IID__DefaultMemberAttribute;
extern __declspec (package) const GUID GUID_EventAttributes;
extern __declspec (package) const GUID GUID_FieldAttributes;
extern __declspec (package) const GUID GUID_InterfaceMapping;
extern __declspec (package) const GUID IID__InvalidFilterCriteriaException;
extern __declspec (package) const GUID IID__ManifestResourceInfo;
extern __declspec (package) const GUID GUID_ResourceLocation;
extern __declspec (package) const GUID IID__MemberFilter;
extern __declspec (package) const GUID GUID_MemberTypes;
extern __declspec (package) const GUID GUID_MethodAttributes;
extern __declspec (package) const GUID GUID_MethodImplAttributes;
extern __declspec (package) const GUID IID__Missing;
extern __declspec (package) const GUID GUID_PortableExecutableKinds;
extern __declspec (package) const GUID GUID_ImageFileMachine;
extern __declspec (package) const GUID CLSID_Module;
extern __declspec (package) const GUID IID__ObfuscateAssemblyAttribute;
extern __declspec (package) const GUID IID__ObfuscationAttribute;
extern __declspec (package) const GUID GUID_ExceptionHandlingClauseOptions;
extern __declspec (package) const GUID IID__ExceptionHandlingClause;
extern __declspec (package) const GUID IID__MethodBody;
extern __declspec (package) const GUID IID__LocalVariableInfo;
extern __declspec (package) const GUID GUID_ParameterAttributes;
extern __declspec (package) const GUID GUID_ParameterModifier;
extern __declspec (package) const GUID IID__Pointer;
extern __declspec (package) const GUID GUID_PropertyAttributes;
extern __declspec (package) const GUID IID__ReflectionTypeLoadException;
extern __declspec (package) const GUID GUID_ResourceAttributes;
extern __declspec (package) const GUID IID__StrongNameKeyPair;
extern __declspec (package) const GUID IID__TargetException;
extern __declspec (package) const GUID IID__TargetInvocationException;
extern __declspec (package) const GUID IID__TargetParameterCountException;
extern __declspec (package) const GUID GUID_TypeAttributes;
extern __declspec (package) const GUID IID__TypeDelegator;
extern __declspec (package) const GUID IID__TypeFilter;
extern __declspec (package) const GUID CLSID_MethodBase;
extern __declspec (package) const GUID CLSID_ConstructorInfo;
extern __declspec (package) const GUID CLSID_MethodInfo;
extern __declspec (package) const GUID CLSID_FieldInfo;
extern __declspec (package) const GUID CLSID_EventInfo;
extern __declspec (package) const GUID CLSID_PropertyInfo;
extern __declspec (package) const GUID CLSID_ParameterInfo;
extern __declspec (package) const GUID IID_IFormatter;
extern __declspec (package) const GUID IID__Formatter;
extern __declspec (package) const GUID IID_IFormatterConverter;
extern __declspec (package) const GUID IID__FormatterConverter;
extern __declspec (package) const GUID IID__FormatterServices;
extern __declspec (package) const GUID IID_ISerializationSurrogate;
extern __declspec (package) const GUID IID_ISurrogateSelector;
extern __declspec (package) const GUID IID__ObjectIDGenerator;
extern __declspec (package) const GUID IID__ObjectManager;
extern __declspec (package) const GUID IID__OptionalFieldAttribute;
extern __declspec (package) const GUID IID__OnSerializingAttribute;
extern __declspec (package) const GUID IID__OnSerializedAttribute;
extern __declspec (package) const GUID IID__OnDeserializingAttribute;
extern __declspec (package) const GUID IID__OnDeserializedAttribute;
extern __declspec (package) const GUID IID__SerializationBinder;
extern __declspec (package) const GUID IID__SerializationInfo;
extern __declspec (package) const GUID GUID_SerializationEntry;
extern __declspec (package) const GUID IID__SerializationInfoEnumerator;
extern __declspec (package) const GUID IID__SerializationException;
extern __declspec (package) const GUID GUID_StreamingContext;
extern __declspec (package) const GUID GUID_StreamingContextStates;
extern __declspec (package) const GUID IID__SurrogateSelector;
extern __declspec (package) const GUID IID__Calendar;
extern __declspec (package) const GUID GUID_CalendarAlgorithmType;
extern __declspec (package) const GUID GUID_CalendarWeekRule;
extern __declspec (package) const GUID IID__EastAsianLunisolarCalendar;
extern __declspec (package) const GUID GUID_CompareOptions;
extern __declspec (package) const GUID IID__CompareInfo;
extern __declspec (package) const GUID IID__CultureInfo;
extern __declspec (package) const GUID GUID_CultureTypes;
extern __declspec (package) const GUID GUID_DateTimeStyles;
extern __declspec (package) const GUID IID__DateTimeFormatInfo;
extern __declspec (package) const GUID IID__DaylightTime;
extern __declspec (package) const GUID GUID_DigitShapes;
extern __declspec (package) const GUID IID__GregorianCalendar;
extern __declspec (package) const GUID GUID_GregorianCalendarTypes;
extern __declspec (package) const GUID IID__HebrewCalendar;
extern __declspec (package) const GUID IID__HijriCalendar;
extern __declspec (package) const GUID IID__JapaneseCalendar;
extern __declspec (package) const GUID IID__JulianCalendar;
extern __declspec (package) const GUID IID__KoreanCalendar;
extern __declspec (package) const GUID IID__RegionInfo;
extern __declspec (package) const GUID IID__SortKey;
extern __declspec (package) const GUID IID__StringInfo;
extern __declspec (package) const GUID IID__TaiwanCalendar;
extern __declspec (package) const GUID IID__TextElementEnumerator;
extern __declspec (package) const GUID IID__TextInfo;
extern __declspec (package) const GUID IID__ThaiBuddhistCalendar;
extern __declspec (package) const GUID IID__NumberFormatInfo;
extern __declspec (package) const GUID GUID_NumberStyles;
extern __declspec (package) const GUID GUID_UnicodeCategory;
extern __declspec (package) const GUID IID__Encoding;
extern __declspec (package) const GUID IID__Encoder;
extern __declspec (package) const GUID IID__Decoder;
extern __declspec (package) const GUID IID__ASCIIEncoding;
extern __declspec (package) const GUID GUID_NormalizationForm;
extern __declspec (package) const GUID IID__UnicodeEncoding;
extern __declspec (package) const GUID IID__UTF7Encoding;
extern __declspec (package) const GUID IID__UTF8Encoding;
extern __declspec (package) const GUID IID_IResourceReader;
extern __declspec (package) const GUID IID_IResourceWriter;
extern __declspec (package) const GUID IID__MissingManifestResourceException;
extern __declspec (package) const GUID IID__MissingSatelliteAssemblyException;
extern __declspec (package) const GUID IID__NeutralResourcesLanguageAttribute;
extern __declspec (package) const GUID IID__ResourceManager;
extern __declspec (package) const GUID IID__ResourceReader;
extern __declspec (package) const GUID IID__ResourceSet;
extern __declspec (package) const GUID IID__ResourceWriter;
extern __declspec (package) const GUID IID__SatelliteContractVersionAttribute;
extern __declspec (package) const GUID GUID_UltimateResourceFallbackLocation;
extern __declspec (package) const GUID IID__Registry;
extern __declspec (package) const GUID GUID_RegistryHive;
extern __declspec (package) const GUID IID__RegistryKey;
extern __declspec (package) const GUID GUID_RegistryValueKind;
extern __declspec (package) const GUID IID_ISecurityEncodable;
extern __declspec (package) const GUID IID_ISecurityPolicyEncodable;
extern __declspec (package) const GUID IID_IMembershipCondition;
extern __declspec (package) const GUID IID__AllMembershipCondition;
extern __declspec (package) const GUID IID__ApplicationDirectory;
extern __declspec (package) const GUID IID__ApplicationDirectoryMembershipCondition;
extern __declspec (package) const GUID IID__ApplicationSecurityInfo;
extern __declspec (package) const GUID IID__ApplicationSecurityManager;
extern __declspec (package) const GUID GUID_ApplicationVersionMatch;
extern __declspec (package) const GUID IID__ApplicationTrust;
extern __declspec (package) const GUID IID__ApplicationTrustCollection;
extern __declspec (package) const GUID IID__ApplicationTrustEnumerator;
extern __declspec (package) const GUID IID__CodeGroup;
extern __declspec (package) const GUID IID__Evidence;
extern __declspec (package) const GUID IID__FileCodeGroup;
extern __declspec (package) const GUID IID__FirstMatchCodeGroup;
extern __declspec (package) const GUID IID_IIdentityPermissionFactory;
extern __declspec (package) const GUID IID_IApplicationTrustManager;
extern __declspec (package) const GUID GUID_TrustManagerUIContext;
extern __declspec (package) const GUID IID__TrustManagerContext;
extern __declspec (package) const GUID IID__CodeConnectAccess;
extern __declspec (package) const GUID IID__NetCodeGroup;
extern __declspec (package) const GUID IID__PermissionRequestEvidence;
extern __declspec (package) const GUID IID__PolicyException;
extern __declspec (package) const GUID IID__PolicyLevel;
extern __declspec (package) const GUID GUID_PolicyStatementAttribute;
extern __declspec (package) const GUID IID__PolicyStatement;
extern __declspec (package) const GUID IID__Site;
extern __declspec (package) const GUID IID__SiteMembershipCondition;
extern __declspec (package) const GUID IID__StrongName;
extern __declspec (package) const GUID IID__StrongNameMembershipCondition;
extern __declspec (package) const GUID IID__UnionCodeGroup;
extern __declspec (package) const GUID IID__Url;
extern __declspec (package) const GUID IID__UrlMembershipCondition;
extern __declspec (package) const GUID IID__Zone;
extern __declspec (package) const GUID IID__ZoneMembershipCondition;
extern __declspec (package) const GUID IID__GacInstalled;
extern __declspec (package) const GUID IID__GacMembershipCondition;
extern __declspec (package) const GUID IID__Hash;
extern __declspec (package) const GUID IID__HashMembershipCondition;
extern __declspec (package) const GUID IID__Publisher;
extern __declspec (package) const GUID IID__PublisherMembershipCondition;
extern __declspec (package) const GUID IID_IIdentity;
extern __declspec (package) const GUID IID__GenericIdentity;
extern __declspec (package) const GUID IID_IPrincipal;
extern __declspec (package) const GUID IID__GenericPrincipal;
extern __declspec (package) const GUID GUID_PrincipalPolicy;
extern __declspec (package) const GUID GUID_WindowsAccountType;
extern __declspec (package) const GUID GUID_TokenImpersonationLevel;
extern __declspec (package) const GUID GUID_TokenAccessLevels;
extern __declspec (package) const GUID IID__WindowsIdentity;
extern __declspec (package) const GUID IID__WindowsImpersonationContext;
extern __declspec (package) const GUID GUID_WindowsBuiltInRole;
extern __declspec (package) const GUID IID__WindowsPrincipal;
extern __declspec (package) const GUID GUID_ArrayWithOffset;
extern __declspec (package) const GUID IID__UnmanagedFunctionPointerAttribute;
extern __declspec (package) const GUID IID__DispIdAttribute;
extern __declspec (package) const GUID GUID_ComInterfaceType;
extern __declspec (package) const GUID IID__InterfaceTypeAttribute;
extern __declspec (package) const GUID IID__ComDefaultInterfaceAttribute;
extern __declspec (package) const GUID GUID_ClassInterfaceType;
extern __declspec (package) const GUID IID__ClassInterfaceAttribute;
extern __declspec (package) const GUID IID__ComVisibleAttribute;
extern __declspec (package) const GUID IID__TypeLibImportClassAttribute;
extern __declspec (package) const GUID IID__LCIDConversionAttribute;
extern __declspec (package) const GUID IID__ComRegisterFunctionAttribute;
extern __declspec (package) const GUID IID__ComUnregisterFunctionAttribute;
extern __declspec (package) const GUID IID__ProgIdAttribute;
extern __declspec (package) const GUID IID__ImportedFromTypeLibAttribute;
extern __declspec (package) const GUID GUID_IDispatchImplType;
extern __declspec (package) const GUID IID__IDispatchImplAttribute;
extern __declspec (package) const GUID IID__ComSourceInterfacesAttribute;
extern __declspec (package) const GUID IID__ComConversionLossAttribute;
extern __declspec (package) const GUID GUID_TypeLibTypeFlags;
extern __declspec (package) const GUID GUID_TypeLibFuncFlags;
extern __declspec (package) const GUID GUID_TypeLibVarFlags;
extern __declspec (package) const GUID IID__TypeLibTypeAttribute;
extern __declspec (package) const GUID IID__TypeLibFuncAttribute;
extern __declspec (package) const GUID IID__TypeLibVarAttribute;
extern __declspec (package) const GUID GUID_VarEnum;
extern __declspec (package) const GUID GUID_UnmanagedType;
extern __declspec (package) const GUID IID__MarshalAsAttribute;
extern __declspec (package) const GUID IID__ComImportAttribute;
extern __declspec (package) const GUID IID__GuidAttribute;
extern __declspec (package) const GUID IID__PreserveSigAttribute;
extern __declspec (package) const GUID IID__InAttribute;
extern __declspec (package) const GUID IID__OutAttribute;
extern __declspec (package) const GUID IID__OptionalAttribute;
extern __declspec (package) const GUID IID__DllImportAttribute;
extern __declspec (package) const GUID IID__StructLayoutAttribute;
extern __declspec (package) const GUID IID__FieldOffsetAttribute;
extern __declspec (package) const GUID IID__ComAliasNameAttribute;
extern __declspec (package) const GUID IID__AutomationProxyAttribute;
extern __declspec (package) const GUID IID__PrimaryInteropAssemblyAttribute;
extern __declspec (package) const GUID IID__CoClassAttribute;
extern __declspec (package) const GUID IID__ComEventInterfaceAttribute;
extern __declspec (package) const GUID IID__TypeLibVersionAttribute;
extern __declspec (package) const GUID IID__ComCompatibleVersionAttribute;
extern __declspec (package) const GUID IID__BestFitMappingAttribute;
extern __declspec (package) const GUID IID__DefaultCharSetAttribute;
extern __declspec (package) const GUID IID__SetWin32ContextInIDispatchAttribute;
extern __declspec (package) const GUID GUID_CallingConvention;
extern __declspec (package) const GUID GUID_CharSet;
extern __declspec (package) const GUID IID__ExternalException;
extern __declspec (package) const GUID IID__COMException;
extern __declspec (package) const GUID GUID_GCHandleType;
extern __declspec (package) const GUID GUID_GCHandle;
extern __declspec (package) const GUID GUID_HandleRef;
extern __declspec (package) const GUID IID_ICustomMarshaler;
extern __declspec (package) const GUID IID__InvalidOleVariantTypeException;
extern __declspec (package) const GUID GUID_LayoutKind;
extern __declspec (package) const GUID IID_ITypeLibImporterNotifySink;
extern __declspec (package) const GUID IID__MarshalDirectiveException;
extern __declspec (package) const GUID IID__RuntimeEnvironment;
extern __declspec (package) const GUID IID__SEHException;
extern __declspec (package) const GUID IID__BStrWrapper;
extern __declspec (package) const GUID GUID_ComMemberType;
extern __declspec (package) const GUID IID__CurrencyWrapper;
extern __declspec (package) const GUID IID__DispatchWrapper;
extern __declspec (package) const GUID IID__ErrorWrapper;
extern __declspec (package) const GUID IID__ExtensibleClassFactory;
extern __declspec (package) const GUID IID_ICustomAdapter;
extern __declspec (package) const GUID IID_ICustomFactory;
extern __declspec (package) const GUID IID__InvalidComObjectException;
extern __declspec (package) const GUID GUID_AssemblyRegistrationFlags;
extern __declspec (package) const GUID IID_IRegistrationServices;
extern __declspec (package) const GUID GUID_TypeLibImporterFlags;
extern __declspec (package) const GUID GUID_TypeLibExporterFlags;
extern __declspec (package) const GUID GUID_ImporterEventKind;
extern __declspec (package) const GUID GUID_ExporterEventKind;
extern __declspec (package) const GUID IID_ITypeLibExporterNotifySink;
extern __declspec (package) const GUID IID_ITypeLibConverter;
extern __declspec (package) const GUID IID_ITypeLibExporterNameProvider;
extern __declspec (package) const GUID IID__ObjectCreationDelegate;
extern __declspec (package) const GUID CLSID_RegistrationServices;
extern __declspec (package) const GUID IID__SafeArrayRankMismatchException;
extern __declspec (package) const GUID IID__SafeArrayTypeMismatchException;
extern __declspec (package) const GUID CLSID_TypeLibConverter;
extern __declspec (package) const GUID IID__UnknownWrapper;
extern __declspec (package) const GUID IID_IExpando;
extern __declspec (package) const GUID IID__Stream;
extern __declspec (package) const GUID IID__BinaryReader;
extern __declspec (package) const GUID IID__BinaryWriter;
extern __declspec (package) const GUID IID__BufferedStream;
extern __declspec (package) const GUID IID__Directory;
extern __declspec (package) const GUID IID__FileSystemInfo;
extern __declspec (package) const GUID IID__DirectoryInfo;
extern __declspec (package) const GUID GUID_SearchOption;
extern __declspec (package) const GUID IID__IOException;
extern __declspec (package) const GUID IID__DirectoryNotFoundException;
extern __declspec (package) const GUID GUID_DriveType;
extern __declspec (package) const GUID IID__DriveInfo;
extern __declspec (package) const GUID IID__DriveNotFoundException;
extern __declspec (package) const GUID IID__EndOfStreamException;
extern __declspec (package) const GUID IID__File;
extern __declspec (package) const GUID GUID_FileAccess;
extern __declspec (package) const GUID IID__FileInfo;
extern __declspec (package) const GUID IID__FileLoadException;
extern __declspec (package) const GUID GUID_FileMode;
extern __declspec (package) const GUID IID__FileNotFoundException;
extern __declspec (package) const GUID GUID_FileOptions;
extern __declspec (package) const GUID GUID_FileShare;
extern __declspec (package) const GUID IID__FileStream;
extern __declspec (package) const GUID GUID_FileAttributes;
extern __declspec (package) const GUID IID__MemoryStream;
extern __declspec (package) const GUID IID__Path;
extern __declspec (package) const GUID IID__PathTooLongException;
extern __declspec (package) const GUID GUID_SeekOrigin;
extern __declspec (package) const GUID IID__TextReader;
extern __declspec (package) const GUID IID__StreamReader;
extern __declspec (package) const GUID IID__TextWriter;
extern __declspec (package) const GUID IID__StreamWriter;
extern __declspec (package) const GUID IID__StringReader;
extern __declspec (package) const GUID IID__StringWriter;
extern __declspec (package) const GUID IID__AccessedThroughPropertyAttribute;
extern __declspec (package) const GUID IID__CallConvCdecl;
extern __declspec (package) const GUID IID__CallConvStdcall;
extern __declspec (package) const GUID IID__CallConvThiscall;
extern __declspec (package) const GUID IID__CallConvFastcall;
extern __declspec (package) const GUID IID__CustomConstantAttribute;
extern __declspec (package) const GUID IID__DateTimeConstantAttribute;
extern __declspec (package) const GUID IID__DiscardableAttribute;
extern __declspec (package) const GUID IID__DecimalConstantAttribute;
extern __declspec (package) const GUID GUID_CompilationRelaxations;
extern __declspec (package) const GUID IID__CompilationRelaxationsAttribute;
extern __declspec (package) const GUID IID__CompilerGlobalScopeAttribute;
extern __declspec (package) const GUID IID__IndexerNameAttribute;
extern __declspec (package) const GUID IID__IsVolatile;
extern __declspec (package) const GUID GUID_MethodImplOptions;
extern __declspec (package) const GUID GUID_MethodCodeType;
extern __declspec (package) const GUID IID__MethodImplAttribute;
extern __declspec (package) const GUID IID__RequiredAttributeAttribute;
extern __declspec (package) const GUID IID__IsCopyConstructed;
extern __declspec (package) const GUID IID__NativeCppClassAttribute;
extern __declspec (package) const GUID IID__IDispatchConstantAttribute;
extern __declspec (package) const GUID IID__IUnknownConstantAttribute;
extern __declspec (package) const GUID IID__SecurityElement;
extern __declspec (package) const GUID IID__XmlSyntaxException;
extern __declspec (package) const GUID GUID_EnvironmentPermissionAccess;
extern __declspec (package) const GUID IID_IPermission;
extern __declspec (package) const GUID IID_IStackWalk;
extern __declspec (package) const GUID IID__CodeAccessPermission;
extern __declspec (package) const GUID IID_IUnrestrictedPermission;
extern __declspec (package) const GUID IID__EnvironmentPermission;
extern __declspec (package) const GUID GUID_FileDialogPermissionAccess;
extern __declspec (package) const GUID IID__FileDialogPermission;
extern __declspec (package) const GUID GUID_FileIOPermissionAccess;
extern __declspec (package) const GUID IID__FileIOPermission;
extern __declspec (package) const GUID GUID_HostProtectionResource;
extern __declspec (package) const GUID IID__SecurityAttribute;
extern __declspec (package) const GUID IID__CodeAccessSecurityAttribute;
extern __declspec (package) const GUID IID__HostProtectionAttribute;
extern __declspec (package) const GUID GUID_IsolatedStorageContainment;
extern __declspec (package) const GUID IID__IsolatedStoragePermission;
extern __declspec (package) const GUID IID__IsolatedStorageFilePermission;
extern __declspec (package) const GUID GUID_PermissionState;
extern __declspec (package) const GUID GUID_SecurityAction;
extern __declspec (package) const GUID IID__EnvironmentPermissionAttribute;
extern __declspec (package) const GUID IID__FileDialogPermissionAttribute;
extern __declspec (package) const GUID IID__FileIOPermissionAttribute;
extern __declspec (package) const GUID IID__KeyContainerPermissionAttribute;
extern __declspec (package) const GUID IID__PrincipalPermissionAttribute;
extern __declspec (package) const GUID IID__ReflectionPermissionAttribute;
extern __declspec (package) const GUID IID__RegistryPermissionAttribute;
extern __declspec (package) const GUID IID__SecurityPermissionAttribute;
extern __declspec (package) const GUID IID__UIPermissionAttribute;
extern __declspec (package) const GUID IID__ZoneIdentityPermissionAttribute;
extern __declspec (package) const GUID IID__StrongNameIdentityPermissionAttribute;
extern __declspec (package) const GUID IID__SiteIdentityPermissionAttribute;
extern __declspec (package) const GUID IID__UrlIdentityPermissionAttribute;
extern __declspec (package) const GUID IID__PublisherIdentityPermissionAttribute;
extern __declspec (package) const GUID IID__IsolatedStoragePermissionAttribute;
extern __declspec (package) const GUID IID__IsolatedStorageFilePermissionAttribute;
extern __declspec (package) const GUID IID__PermissionSetAttribute;
extern __declspec (package) const GUID GUID_ReflectionPermissionFlag;
extern __declspec (package) const GUID IID__ReflectionPermission;
extern __declspec (package) const GUID IID__PrincipalPermission;
extern __declspec (package) const GUID GUID_SecurityPermissionFlag;
extern __declspec (package) const GUID IID__SecurityPermission;
extern __declspec (package) const GUID IID__SiteIdentityPermission;
extern __declspec (package) const GUID IID__StrongNameIdentityPermission;
extern __declspec (package) const GUID IID__StrongNamePublicKeyBlob;
extern __declspec (package) const GUID GUID_UIPermissionWindow;
extern __declspec (package) const GUID GUID_UIPermissionClipboard;
extern __declspec (package) const GUID IID__UIPermission;
extern __declspec (package) const GUID IID__UrlIdentityPermission;
extern __declspec (package) const GUID IID__ZoneIdentityPermission;
extern __declspec (package) const GUID IID__GacIdentityPermissionAttribute;
extern __declspec (package) const GUID IID__GacIdentityPermission;
extern __declspec (package) const GUID GUID_KeyContainerPermissionFlags;
extern __declspec (package) const GUID IID__KeyContainerPermissionAccessEntry;
extern __declspec (package) const GUID IID__KeyContainerPermissionAccessEntryCollection;
extern __declspec (package) const GUID IID__KeyContainerPermissionAccessEntryEnumerator;
extern __declspec (package) const GUID IID__KeyContainerPermission;
extern __declspec (package) const GUID IID__PublisherIdentityPermission;
extern __declspec (package) const GUID GUID_RegistryPermissionAccess;
extern __declspec (package) const GUID IID__RegistryPermission;
extern __declspec (package) const GUID IID__SuppressUnmanagedCodeSecurityAttribute;
extern __declspec (package) const GUID IID__UnverifiableCodeAttribute;
extern __declspec (package) const GUID IID__AllowPartiallyTrustedCallersAttribute;
extern __declspec (package) const GUID GUID_HostSecurityManagerOptions;
extern __declspec (package) const GUID IID__HostSecurityManager;
extern __declspec (package) const GUID IID__PermissionSet;
extern __declspec (package) const GUID IID__NamedPermissionSet;
extern __declspec (package) const GUID IID__SecurityException;
extern __declspec (package) const GUID IID__HostProtectionException;
extern __declspec (package) const GUID GUID_PolicyLevelType;
extern __declspec (package) const GUID IID__SecurityManager;
extern __declspec (package) const GUID GUID_SecurityZone;
extern __declspec (package) const GUID IID__VerificationException;
extern __declspec (package) const GUID IID_IContextAttribute;
extern __declspec (package) const GUID IID_IContextProperty;
extern __declspec (package) const GUID IID__ContextAttribute;
extern __declspec (package) const GUID IID_IActivator;
extern __declspec (package) const GUID IID_IMessageSink;
extern __declspec (package) const GUID IID__AsyncResult;
extern __declspec (package) const GUID IID__CallContext;
extern __declspec (package) const GUID IID_ILogicalThreadAffinative;
extern __declspec (package) const GUID IID__LogicalCallContext;
extern __declspec (package) const GUID IID__ChannelServices;
extern __declspec (package) const GUID IID_IClientResponseChannelSinkStack;
extern __declspec (package) const GUID IID_IClientChannelSinkStack;
extern __declspec (package) const GUID IID__ClientChannelSinkStack;
extern __declspec (package) const GUID IID_IServerResponseChannelSinkStack;
extern __declspec (package) const GUID IID_IServerChannelSinkStack;
extern __declspec (package) const GUID IID__ServerChannelSinkStack;
extern __declspec (package) const GUID IID_ISponsor;
extern __declspec (package) const GUID IID__ClientSponsor;
extern __declspec (package) const GUID GUID_WellKnownObjectMode;
extern __declspec (package) const GUID IID__CrossContextDelegate;
extern __declspec (package) const GUID IID__Context;
extern __declspec (package) const GUID IID__ContextProperty;
extern __declspec (package) const GUID IID_IContextPropertyActivator;
extern __declspec (package) const GUID IID_IChannel;
extern __declspec (package) const GUID IID_IChannelSender;
extern __declspec (package) const GUID IID_IChannelReceiver;
extern __declspec (package) const GUID IID_IServerChannelSinkProvider;
extern __declspec (package) const GUID IID_IChannelSinkBase;
extern __declspec (package) const GUID IID_IServerChannelSink;
extern __declspec (package) const GUID IID__EnterpriseServicesHelper;
extern __declspec (package) const GUID IID__Header;
extern __declspec (package) const GUID IID__HeaderHandler;
extern __declspec (package) const GUID GUID_ActivatorLevel;
extern __declspec (package) const GUID IID_IMessage;
extern __declspec (package) const GUID IID_IMethodMessage;
extern __declspec (package) const GUID IID_IMethodCallMessage;
extern __declspec (package) const GUID IID_IConstructionCallMessage;
extern __declspec (package) const GUID IID_IMethodReturnMessage;
extern __declspec (package) const GUID IID_IConstructionReturnMessage;
extern __declspec (package) const GUID IID_IChannelReceiverHook;
extern __declspec (package) const GUID IID_IClientChannelSinkProvider;
extern __declspec (package) const GUID IID_IClientFormatterSinkProvider;
extern __declspec (package) const GUID IID_IServerFormatterSinkProvider;
extern __declspec (package) const GUID IID_IClientChannelSink;
extern __declspec (package) const GUID GUID_ServerProcessing;
extern __declspec (package) const GUID IID_IClientFormatterSink;
extern __declspec (package) const GUID IID_IChannelDataStore;
extern __declspec (package) const GUID IID__ChannelDataStore;
extern __declspec (package) const GUID IID_ITransportHeaders;
extern __declspec (package) const GUID IID__TransportHeaders;
extern __declspec (package) const GUID IID__SinkProviderData;
extern __declspec (package) const GUID IID__BaseChannelObjectWithProperties;
extern __declspec (package) const GUID IID__BaseChannelSinkWithProperties;
extern __declspec (package) const GUID IID__BaseChannelWithProperties;
extern __declspec (package) const GUID IID_IContributeClientContextSink;
extern __declspec (package) const GUID IID_IContributeDynamicSink;
extern __declspec (package) const GUID IID_IContributeEnvoySink;
extern __declspec (package) const GUID IID_IContributeObjectSink;
extern __declspec (package) const GUID IID_IContributeServerContextSink;
extern __declspec (package) const GUID IID_IDynamicProperty;
extern __declspec (package) const GUID IID_IDynamicMessageSink;
extern __declspec (package) const GUID IID_ILease;
extern __declspec (package) const GUID IID_IMessageCtrl;
extern __declspec (package) const GUID IID_IRemotingFormatter;
extern __declspec (package) const GUID GUID_LeaseState;
extern __declspec (package) const GUID IID__LifetimeServices;
extern __declspec (package) const GUID IID__ReturnMessage;
extern __declspec (package) const GUID IID__MethodCall;
extern __declspec (package) const GUID IID__ConstructionCall;
extern __declspec (package) const GUID IID__MethodResponse;
extern __declspec (package) const GUID IID_IFieldInfo;
extern __declspec (package) const GUID IID__ConstructionResponse;
extern __declspec (package) const GUID IID__InternalMessageWrapper;
extern __declspec (package) const GUID IID__MethodCallMessageWrapper;
extern __declspec (package) const GUID IID__MethodReturnMessageWrapper;
extern __declspec (package) const GUID IID__ObjectHandle;
extern __declspec (package) const GUID IID_IRemotingTypeInfo;
extern __declspec (package) const GUID IID_IChannelInfo;
extern __declspec (package) const GUID IID_IEnvoyInfo;
extern __declspec (package) const GUID IID__ObjRef;
extern __declspec (package) const GUID IID__OneWayAttribute;
extern __declspec (package) const GUID IID__ProxyAttribute;
extern __declspec (package) const GUID IID__RealProxy;
extern __declspec (package) const GUID GUID_SoapOption;
extern __declspec (package) const GUID GUID_XmlFieldOrderOption;
extern __declspec (package) const GUID IID__SoapAttribute;
extern __declspec (package) const GUID IID__SoapTypeAttribute;
extern __declspec (package) const GUID IID__SoapMethodAttribute;
extern __declspec (package) const GUID IID__SoapFieldAttribute;
extern __declspec (package) const GUID IID__SoapParameterAttribute;
extern __declspec (package) const GUID IID__RemotingConfiguration;
extern __declspec (package) const GUID IID__TypeEntry;
extern __declspec (package) const GUID IID__ActivatedClientTypeEntry;
extern __declspec (package) const GUID IID__ActivatedServiceTypeEntry;
extern __declspec (package) const GUID IID__WellKnownClientTypeEntry;
extern __declspec (package) const GUID IID__WellKnownServiceTypeEntry;
extern __declspec (package) const GUID GUID_CustomErrorsModes;
extern __declspec (package) const GUID IID__RemotingException;
extern __declspec (package) const GUID IID__ServerException;
extern __declspec (package) const GUID IID__RemotingTimeoutException;
extern __declspec (package) const GUID IID__RemotingServices;
extern __declspec (package) const GUID IID__InternalRemotingServices;
extern __declspec (package) const GUID IID__MessageSurrogateFilter;
extern __declspec (package) const GUID IID__RemotingSurrogateSelector;
extern __declspec (package) const GUID IID__SoapServices;
extern __declspec (package) const GUID IID_ISoapXsd;
extern __declspec (package) const GUID IID__SoapDateTime;
extern __declspec (package) const GUID IID__SoapDuration;
extern __declspec (package) const GUID IID__SoapTime;
extern __declspec (package) const GUID IID__SoapDate;
extern __declspec (package) const GUID IID__SoapYearMonth;
extern __declspec (package) const GUID IID__SoapYear;
extern __declspec (package) const GUID IID__SoapMonthDay;
extern __declspec (package) const GUID IID__SoapDay;
extern __declspec (package) const GUID IID__SoapMonth;
extern __declspec (package) const GUID IID__SoapHexBinary;
extern __declspec (package) const GUID IID__SoapBase64Binary;
extern __declspec (package) const GUID IID__SoapInteger;
extern __declspec (package) const GUID IID__SoapPositiveInteger;
extern __declspec (package) const GUID IID__SoapNonPositiveInteger;
extern __declspec (package) const GUID IID__SoapNonNegativeInteger;
extern __declspec (package) const GUID IID__SoapNegativeInteger;
extern __declspec (package) const GUID IID__SoapAnyUri;
extern __declspec (package) const GUID IID__SoapQName;
extern __declspec (package) const GUID IID__SoapNotation;
extern __declspec (package) const GUID IID__SoapNormalizedString;
extern __declspec (package) const GUID IID__SoapToken;
extern __declspec (package) const GUID IID__SoapLanguage;
extern __declspec (package) const GUID IID__SoapName;
extern __declspec (package) const GUID IID__SoapIdrefs;
extern __declspec (package) const GUID IID__SoapEntities;
extern __declspec (package) const GUID IID__SoapNmtoken;
extern __declspec (package) const GUID IID__SoapNmtokens;
extern __declspec (package) const GUID IID__SoapNcName;
extern __declspec (package) const GUID IID__SoapId;
extern __declspec (package) const GUID IID__SoapIdref;
extern __declspec (package) const GUID IID__SoapEntity;
extern __declspec (package) const GUID IID__SynchronizationAttribute;
extern __declspec (package) const GUID IID_ITrackingHandler;
extern __declspec (package) const GUID IID__TrackingServices;
extern __declspec (package) const GUID IID__UrlAttribute;
extern __declspec (package) const GUID GUID_IsolatedStorageScope;
extern __declspec (package) const GUID IID__IsolatedStorage;
extern __declspec (package) const GUID IID__IsolatedStorageFile;
extern __declspec (package) const GUID IID__IsolatedStorageFileStream;
extern __declspec (package) const GUID IID__IsolatedStorageException;
extern __declspec (package) const GUID IID_INormalizeForIsolatedStorage;
extern __declspec (package) const GUID GUID_FormatterTypeStyle;
extern __declspec (package) const GUID GUID_FormatterAssemblyStyle;
extern __declspec (package) const GUID GUID_TypeFilterLevel;
extern __declspec (package) const GUID IID_ISoapMessage;
extern __declspec (package) const GUID IID__InternalRM;
extern __declspec (package) const GUID IID__InternalST;
extern __declspec (package) const GUID IID__SoapMessage;
extern __declspec (package) const GUID IID__SoapFault;
extern __declspec (package) const GUID IID__ServerFault;
extern __declspec (package) const GUID IID__BinaryFormatter;
extern __declspec (package) const GUID IID__AssemblyBuilder;
extern __declspec (package) const GUID CLSID_AssemblyBuilder;
extern __declspec (package) const GUID GUID_AssemblyBuilderAccess;
extern __declspec (package) const GUID IID__ConstructorBuilder;
extern __declspec (package) const GUID IID__CustomAttributeBuilder;
extern __declspec (package) const GUID IID__EnumBuilder;
extern __declspec (package) const GUID IID__EventBuilder;
extern __declspec (package) const GUID IID__FieldBuilder;
extern __declspec (package) const GUID IID__ILGenerator;
extern __declspec (package) const GUID IID__LocalBuilder;
extern __declspec (package) const GUID IID__MethodBuilder;
extern __declspec (package) const GUID IID__MethodRental;
extern __declspec (package) const GUID IID__ModuleBuilder;
extern __declspec (package) const GUID IID__ParameterBuilder;
extern __declspec (package) const GUID IID__PropertyBuilder;
extern __declspec (package) const GUID IID__SignatureHelper;
extern __declspec (package) const GUID IID__TypeBuilder;
extern __declspec (package) const GUID CLSID_ConstructorBuilder;
extern __declspec (package) const GUID CLSID_ILGenerator;
extern __declspec (package) const GUID IID__DynamicILInfo;
extern __declspec (package) const GUID IID__DynamicMethod;
extern __declspec (package) const GUID CLSID_EventBuilder;
extern __declspec (package) const GUID GUID_EventToken;
extern __declspec (package) const GUID CLSID_FieldBuilder;
extern __declspec (package) const GUID GUID_FieldToken;
extern __declspec (package) const GUID GUID_Label;
extern __declspec (package) const GUID CLSID_LocalBuilder;
extern __declspec (package) const GUID CLSID_MethodBuilder;
extern __declspec (package) const GUID CLSID_CustomAttributeBuilder;
extern __declspec (package) const GUID CLSID_MethodRental;
extern __declspec (package) const GUID GUID_MethodToken;
extern __declspec (package) const GUID CLSID_ModuleBuilder;
extern __declspec (package) const GUID GUID_PEFileKinds;
extern __declspec (package) const GUID IID__OpCodes;
extern __declspec (package) const GUID GUID_OpCode;
extern __declspec (package) const GUID GUID_OpCodeType;
extern __declspec (package) const GUID GUID_StackBehaviour;
extern __declspec (package) const GUID GUID_OperandType;
extern __declspec (package) const GUID GUID_FlowControl;
extern __declspec (package) const GUID CLSID_ParameterBuilder;
extern __declspec (package) const GUID GUID_ParameterToken;
extern __declspec (package) const GUID CLSID_PropertyBuilder;
extern __declspec (package) const GUID GUID_PropertyToken;
extern __declspec (package) const GUID CLSID_SignatureHelper;
extern __declspec (package) const GUID GUID_SignatureToken;
extern __declspec (package) const GUID GUID_StringToken;
extern __declspec (package) const GUID GUID_PackingSize;
extern __declspec (package) const GUID CLSID_TypeBuilder;
extern __declspec (package) const GUID IID__GenericTypeParameterBuilder;
extern __declspec (package) const GUID CLSID_EnumBuilder;
extern __declspec (package) const GUID GUID_TypeToken;
extern __declspec (package) const GUID IID__UnmanagedMarshal;
extern __declspec (package) const GUID GUID_AssemblyHash;
extern __declspec (package) const GUID GUID_AssemblyHashAlgorithm;
extern __declspec (package) const GUID GUID_AssemblyVersionCompatibility;
extern __declspec (package) const GUID GUID_CipherMode;
extern __declspec (package) const GUID GUID_PaddingMode;
extern __declspec (package) const GUID IID__KeySizes;
extern __declspec (package) const GUID IID__CryptographicException;
extern __declspec (package) const GUID IID__CryptographicUnexpectedOperationException;
extern __declspec (package) const GUID IID_ICryptoTransform;
extern __declspec (package) const GUID IID__RandomNumberGenerator;
extern __declspec (package) const GUID IID__RNGCryptoServiceProvider;
extern __declspec (package) const GUID IID__AsymmetricAlgorithm;
extern __declspec (package) const GUID IID__AsymmetricKeyExchangeDeformatter;
extern __declspec (package) const GUID IID__AsymmetricKeyExchangeFormatter;
extern __declspec (package) const GUID IID__AsymmetricSignatureDeformatter;
extern __declspec (package) const GUID IID__AsymmetricSignatureFormatter;
extern __declspec (package) const GUID GUID_FromBase64TransformMode;
extern __declspec (package) const GUID IID__ToBase64Transform;
extern __declspec (package) const GUID IID__FromBase64Transform;
extern __declspec (package) const GUID IID__CryptoAPITransform;
extern __declspec (package) const GUID GUID_CspProviderFlags;
extern __declspec (package) const GUID IID__CspParameters;
extern __declspec (package) const GUID IID__CryptoConfig;
extern __declspec (package) const GUID GUID_CryptoStreamMode;
extern __declspec (package) const GUID IID__CryptoStream;
extern __declspec (package) const GUID IID__SymmetricAlgorithm;
extern __declspec (package) const GUID IID__DES;
extern __declspec (package) const GUID IID__DESCryptoServiceProvider;
extern __declspec (package) const GUID IID__DeriveBytes;
extern __declspec (package) const GUID GUID_DSAParameters;
extern __declspec (package) const GUID IID__DSA;
extern __declspec (package) const GUID IID_ICspAsymmetricAlgorithm;
extern __declspec (package) const GUID IID__DSACryptoServiceProvider;
extern __declspec (package) const GUID IID__DSASignatureDeformatter;
extern __declspec (package) const GUID IID__DSASignatureFormatter;
extern __declspec (package) const GUID IID__HashAlgorithm;
extern __declspec (package) const GUID IID__KeyedHashAlgorithm;
extern __declspec (package) const GUID IID__HMAC;
extern __declspec (package) const GUID IID__HMACMD5;
extern __declspec (package) const GUID IID__HMACRIPEMD160;
extern __declspec (package) const GUID IID__HMACSHA1;
extern __declspec (package) const GUID IID__HMACSHA256;
extern __declspec (package) const GUID IID__HMACSHA384;
extern __declspec (package) const GUID IID__HMACSHA512;
extern __declspec (package) const GUID GUID_KeyNumber;
extern __declspec (package) const GUID IID__CspKeyContainerInfo;
extern __declspec (package) const GUID IID__MACTripleDES;
extern __declspec (package) const GUID IID__MD5;
extern __declspec (package) const GUID IID__MD5CryptoServiceProvider;
extern __declspec (package) const GUID IID__MaskGenerationMethod;
extern __declspec (package) const GUID IID__PasswordDeriveBytes;
extern __declspec (package) const GUID IID__PKCS1MaskGenerationMethod;
extern __declspec (package) const GUID IID__RC2;
extern __declspec (package) const GUID IID__RC2CryptoServiceProvider;
extern __declspec (package) const GUID IID__Rfc2898DeriveBytes;
extern __declspec (package) const GUID IID__RIPEMD160;
extern __declspec (package) const GUID IID__RIPEMD160Managed;
extern __declspec (package) const GUID GUID_RSAParameters;
extern __declspec (package) const GUID IID__RSA;
extern __declspec (package) const GUID IID__RSACryptoServiceProvider;
extern __declspec (package) const GUID IID__RSAOAEPKeyExchangeDeformatter;
extern __declspec (package) const GUID IID__RSAOAEPKeyExchangeFormatter;
extern __declspec (package) const GUID IID__RSAPKCS1KeyExchangeDeformatter;
extern __declspec (package) const GUID IID__RSAPKCS1KeyExchangeFormatter;
extern __declspec (package) const GUID IID__RSAPKCS1SignatureDeformatter;
extern __declspec (package) const GUID IID__RSAPKCS1SignatureFormatter;
extern __declspec (package) const GUID IID__Rijndael;
extern __declspec (package) const GUID IID__RijndaelManaged;
extern __declspec (package) const GUID IID__RijndaelManagedTransform;
extern __declspec (package) const GUID IID__SHA1;
extern __declspec (package) const GUID IID__SHA1CryptoServiceProvider;
extern __declspec (package) const GUID IID__SHA1Managed;
extern __declspec (package) const GUID IID__SHA256;
extern __declspec (package) const GUID IID__SHA256Managed;
extern __declspec (package) const GUID IID__SHA384;
extern __declspec (package) const GUID IID__SHA384Managed;
extern __declspec (package) const GUID IID__SHA512;
extern __declspec (package) const GUID IID__SHA512Managed;
extern __declspec (package) const GUID IID__SignatureDescription;
extern __declspec (package) const GUID IID__TripleDES;
extern __declspec (package) const GUID IID__TripleDESCryptoServiceProvider;
extern __declspec (package) const GUID GUID_X509ContentType;
extern __declspec (package) const GUID GUID_X509KeyStorageFlags;
extern __declspec (package) const GUID IID__X509Certificate;
extern __declspec (package) const GUID CLSID_Object;
extern __declspec (package) const GUID CLSID_Array;
extern __declspec (package) const GUID CLSID_ValueType;
extern __declspec (package) const GUID CLSID_Enum;
extern __declspec (package) const GUID CLSID_String;
extern __declspec (package) const GUID CLSID_StringComparer;
extern __declspec (package) const GUID CLSID_StringBuilder;
extern __declspec (package) const GUID CLSID_SystemException;
extern __declspec (package) const GUID CLSID_OutOfMemoryException;
extern __declspec (package) const GUID CLSID_StackOverflowException;
extern __declspec (package) const GUID CLSID_DataMisalignedException;
extern __declspec (package) const GUID CLSID_ExecutionEngineException;
extern __declspec (package) const GUID CLSID_Delegate;
extern __declspec (package) const GUID CLSID_MulticastDelegate;
extern __declspec (package) const GUID CLSID_MemberAccessException;
extern __declspec (package) const GUID CLSID_AccessViolationException;
extern __declspec (package) const GUID CLSID_ApplicationActivator;
extern __declspec (package) const GUID CLSID_ApplicationException;
extern __declspec (package) const GUID CLSID_EventArgs;
extern __declspec (package) const GUID CLSID_ResolveEventArgs;
extern __declspec (package) const GUID CLSID_AssemblyLoadEventArgs;
extern __declspec (package) const GUID CLSID_ResolveEventHandler;
extern __declspec (package) const GUID CLSID_AssemblyLoadEventHandler;
extern __declspec (package) const GUID CLSID_AppDomainInitializer;
extern __declspec (package) const GUID CLSID_MarshalByRefObject;
extern __declspec (package) const GUID CLSID_CrossAppDomainDelegate;
extern __declspec (package) const GUID CLSID_AppDomainManager;
extern __declspec (package) const GUID CLSID_LoaderOptimizationAttribute;
extern __declspec (package) const GUID CLSID_AppDomainUnloadedException;
extern __declspec (package) const GUID CLSID_ActivationArguments;
extern __declspec (package) const GUID CLSID_ApplicationId;
extern __declspec (package) const GUID CLSID_ArgumentException;
extern __declspec (package) const GUID CLSID_ArgumentNullException;
extern __declspec (package) const GUID CLSID_ArgumentOutOfRangeException;
extern __declspec (package) const GUID CLSID_ArithmeticException;
extern __declspec (package) const GUID CLSID_ArrayTypeMismatchException;
extern __declspec (package) const GUID CLSID_AsyncCallback;
extern __declspec (package) const GUID CLSID_AttributeUsageAttribute;
extern __declspec (package) const GUID CLSID_BadImageFormatException;
extern __declspec (package) const GUID CLSID_Buffer;
extern __declspec (package) const GUID CLSID_CannotUnloadAppDomainException;
extern __declspec (package) const GUID CLSID_CharEnumerator;
extern __declspec (package) const GUID CLSID_CLSCompliantAttribute;
extern __declspec (package) const GUID CLSID_TypeUnloadedException;
extern __declspec (package) const GUID CLSID_CriticalFinalizerObject;
extern __declspec (package) const GUID CLSID_ContextMarshalException;
extern __declspec (package) const GUID CLSID_ContextBoundObject;
extern __declspec (package) const GUID CLSID_ContextStaticAttribute;
extern __declspec (package) const GUID CLSID_TimeZone;
extern __declspec (package) const GUID CLSID_DBNull;
extern __declspec (package) const GUID CLSID_Binder;
extern __declspec (package) const GUID CLSID_DivideByZeroException;
extern __declspec (package) const GUID CLSID_DuplicateWaitObjectException;
extern __declspec (package) const GUID CLSID_TypeLoadException;
extern __declspec (package) const GUID CLSID_EntryPointNotFoundException;
extern __declspec (package) const GUID CLSID_DllNotFoundException;
extern __declspec (package) const GUID CLSID_Environment;
extern __declspec (package) const GUID CLSID_EventHandler;
extern __declspec (package) const GUID CLSID_FieldAccessException;
extern __declspec (package) const GUID CLSID_FlagsAttribute;
extern __declspec (package) const GUID CLSID_FormatException;
extern __declspec (package) const GUID CLSID_IndexOutOfRangeException;
extern __declspec (package) const GUID CLSID_InvalidCastException;
extern __declspec (package) const GUID CLSID_InvalidOperationException;
extern __declspec (package) const GUID CLSID_InvalidProgramException;
extern __declspec (package) const GUID CLSID_LocalDataStoreSlot;
extern __declspec (package) const GUID CLSID_MethodAccessException;
extern __declspec (package) const GUID CLSID_MissingMemberException;
extern __declspec (package) const GUID CLSID_MissingFieldException;
extern __declspec (package) const GUID CLSID_MissingMethodException;
extern __declspec (package) const GUID CLSID_MulticastNotSupportedException;
extern __declspec (package) const GUID CLSID_NonSerializedAttribute;
extern __declspec (package) const GUID CLSID_NotFiniteNumberException;
extern __declspec (package) const GUID CLSID_NotImplementedException;
extern __declspec (package) const GUID CLSID_NotSupportedException;
extern __declspec (package) const GUID CLSID_NullReferenceException;
extern __declspec (package) const GUID CLSID_ObjectDisposedException;
extern __declspec (package) const GUID CLSID_ObsoleteAttribute;
extern __declspec (package) const GUID CLSID_OperatingSystem;
extern __declspec (package) const GUID CLSID_OperationCanceledException;
extern __declspec (package) const GUID CLSID_OverflowException;
extern __declspec (package) const GUID CLSID_ParamArrayAttribute;
extern __declspec (package) const GUID CLSID_PlatformNotSupportedException;
extern __declspec (package) const GUID CLSID_Random;
extern __declspec (package) const GUID CLSID_RankException;
extern __declspec (package) const GUID CLSID_SerializableAttribute;
extern __declspec (package) const GUID CLSID_TimeoutException;
extern __declspec (package) const GUID CLSID_TypeInitializationException;
extern __declspec (package) const GUID CLSID_UnauthorizedAccessException;
extern __declspec (package) const GUID CLSID_UnhandledExceptionEventArgs;
extern __declspec (package) const GUID CLSID_UnhandledExceptionEventHandler;
extern __declspec (package) const GUID CLSID_Version;
extern __declspec (package) const GUID CLSID_WeakReference;
extern __declspec (package) const GUID CLSID_WaitHandle;
extern __declspec (package) const GUID CLSID_EventWaitHandle;
extern __declspec (package) const GUID CLSID_AutoResetEvent;
extern __declspec (package) const GUID CLSID_ContextCallback;
extern __declspec (package) const GUID CLSID_ManualResetEvent;
extern __declspec (package) const GUID CLSID_Monitor;
extern __declspec (package) const GUID CLSID_Mutex;
extern __declspec (package) const GUID CLSID_Overlapped;
extern __declspec (package) const GUID CLSID_ReaderWriterLock;
extern __declspec (package) const GUID CLSID_SynchronizationLockException;
extern __declspec (package) const GUID CLSID_ThreadAbortException;
extern __declspec (package) const GUID CLSID_ThreadInterruptedException;
extern __declspec (package) const GUID CLSID_RegisteredWaitHandle;
extern __declspec (package) const GUID CLSID_WaitCallback;
extern __declspec (package) const GUID CLSID_WaitOrTimerCallback;
extern __declspec (package) const GUID CLSID_IOCompletionCallback;
extern __declspec (package) const GUID CLSID_ThreadStart;
extern __declspec (package) const GUID CLSID_ThreadStateException;
extern __declspec (package) const GUID CLSID_ThreadStaticAttribute;
extern __declspec (package) const GUID CLSID_Timeout;
extern __declspec (package) const GUID CLSID_TimerCallback;
extern __declspec (package) const GUID CLSID_Timer;
extern __declspec (package) const GUID CLSID_STAThreadAttribute;
extern __declspec (package) const GUID CLSID_MTAThreadAttribute;
extern __declspec (package) const GUID CLSID_ArrayList;
extern __declspec (package) const GUID CLSID_BitArray;
extern __declspec (package) const GUID CLSID_CaseInsensitiveComparer;
extern __declspec (package) const GUID CLSID_CaseInsensitiveHashCodeProvider;
extern __declspec (package) const GUID CLSID_CollectionBase;
extern __declspec (package) const GUID CLSID_Comparer;
extern __declspec (package) const GUID CLSID_DictionaryBase;
extern __declspec (package) const GUID CLSID_Hashtable;
extern __declspec (package) const GUID CLSID_Queue;
extern __declspec (package) const GUID CLSID_ReadOnlyCollectionBase;
extern __declspec (package) const GUID CLSID_SortedList;
extern __declspec (package) const GUID CLSID_Stack;
extern __declspec (package) const GUID CLSID_Nullable;
extern __declspec (package) const GUID CLSID_KeyNotFoundException;
extern __declspec (package) const GUID CLSID_ConditionalAttribute;
extern __declspec (package) const GUID CLSID_Debugger;
extern __declspec (package) const GUID CLSID_DebuggerStepThroughAttribute;
extern __declspec (package) const GUID CLSID_DebuggerStepperBoundaryAttribute;
extern __declspec (package) const GUID CLSID_DebuggerHiddenAttribute;
extern __declspec (package) const GUID CLSID_DebuggerNonUserCodeAttribute;
extern __declspec (package) const GUID CLSID_DebuggableAttribute;
extern __declspec (package) const GUID CLSID_DebuggerBrowsableAttribute;
extern __declspec (package) const GUID CLSID_DebuggerTypeProxyAttribute;
extern __declspec (package) const GUID CLSID_DebuggerDisplayAttribute;
extern __declspec (package) const GUID CLSID_DebuggerVisualizerAttribute;
extern __declspec (package) const GUID CLSID_StackTrace;
extern __declspec (package) const GUID CLSID_StackFrame;
extern __declspec (package) const GUID CLSID_SymDocumentType;
extern __declspec (package) const GUID CLSID_SymLanguageType;
extern __declspec (package) const GUID CLSID_SymLanguageVendor;
extern __declspec (package) const GUID CLSID_AmbiguousMatchException;
extern __declspec (package) const GUID CLSID_ModuleResolveEventHandler;
extern __declspec (package) const GUID CLSID_AssemblyCopyrightAttribute;
extern __declspec (package) const GUID CLSID_AssemblyTrademarkAttribute;
extern __declspec (package) const GUID CLSID_AssemblyProductAttribute;
extern __declspec (package) const GUID CLSID_AssemblyCompanyAttribute;
extern __declspec (package) const GUID CLSID_AssemblyDescriptionAttribute;
extern __declspec (package) const GUID CLSID_AssemblyTitleAttribute;
extern __declspec (package) const GUID CLSID_AssemblyConfigurationAttribute;
extern __declspec (package) const GUID CLSID_AssemblyDefaultAliasAttribute;
extern __declspec (package) const GUID CLSID_AssemblyInformationalVersionAttribute;
extern __declspec (package) const GUID CLSID_AssemblyFileVersionAttribute;
extern __declspec (package) const GUID CLSID_AssemblyCultureAttribute;
extern __declspec (package) const GUID CLSID_AssemblyVersionAttribute;
extern __declspec (package) const GUID CLSID_AssemblyKeyFileAttribute;
extern __declspec (package) const GUID CLSID_AssemblyDelaySignAttribute;
extern __declspec (package) const GUID CLSID_AssemblyAlgorithmIdAttribute;
extern __declspec (package) const GUID CLSID_AssemblyFlagsAttribute;
extern __declspec (package) const GUID CLSID_AssemblyKeyNameAttribute;
extern __declspec (package) const GUID CLSID_AssemblyNameProxy;
extern __declspec (package) const GUID CLSID_CustomAttributeFormatException;
extern __declspec (package) const GUID CLSID_CustomAttributeData;
extern __declspec (package) const GUID CLSID_DefaultMemberAttribute;
extern __declspec (package) const GUID CLSID_InvalidFilterCriteriaException;
extern __declspec (package) const GUID CLSID_ManifestResourceInfo;
extern __declspec (package) const GUID CLSID_MemberFilter;
extern __declspec (package) const GUID CLSID_Missing;
extern __declspec (package) const GUID CLSID_ObfuscateAssemblyAttribute;
extern __declspec (package) const GUID CLSID_ObfuscationAttribute;
extern __declspec (package) const GUID CLSID_ExceptionHandlingClause;
extern __declspec (package) const GUID CLSID_MethodBody;
extern __declspec (package) const GUID CLSID_LocalVariableInfo;
extern __declspec (package) const GUID CLSID_Pointer;
extern __declspec (package) const GUID CLSID_ReflectionTypeLoadException;
extern __declspec (package) const GUID CLSID_StrongNameKeyPair;
extern __declspec (package) const GUID CLSID_TargetException;
extern __declspec (package) const GUID CLSID_TargetInvocationException;
extern __declspec (package) const GUID CLSID_TargetParameterCountException;
extern __declspec (package) const GUID CLSID_TypeDelegator;
extern __declspec (package) const GUID CLSID_TypeFilter;
extern __declspec (package) const GUID CLSID_Formatter;
extern __declspec (package) const GUID CLSID_FormatterConverter;
extern __declspec (package) const GUID CLSID_FormatterServices;
extern __declspec (package) const GUID CLSID_ObjectIDGenerator;
extern __declspec (package) const GUID CLSID_ObjectManager;
extern __declspec (package) const GUID CLSID_OptionalFieldAttribute;
extern __declspec (package) const GUID CLSID_OnSerializingAttribute;
extern __declspec (package) const GUID CLSID_OnSerializedAttribute;
extern __declspec (package) const GUID CLSID_OnDeserializingAttribute;
extern __declspec (package) const GUID CLSID_OnDeserializedAttribute;
extern __declspec (package) const GUID CLSID_SerializationBinder;
extern __declspec (package) const GUID CLSID_SerializationInfo;
extern __declspec (package) const GUID CLSID_SerializationInfoEnumerator;
extern __declspec (package) const GUID CLSID_SerializationException;
extern __declspec (package) const GUID CLSID_SurrogateSelector;
extern __declspec (package) const GUID CLSID_Calendar;
extern __declspec (package) const GUID CLSID_EastAsianLunisolarCalendar;
extern __declspec (package) const GUID CLSID_CompareInfo;
extern __declspec (package) const GUID CLSID_CultureInfo;
extern __declspec (package) const GUID CLSID_DateTimeFormatInfo;
extern __declspec (package) const GUID CLSID_DaylightTime;
extern __declspec (package) const GUID CLSID_GregorianCalendar;
extern __declspec (package) const GUID CLSID_HebrewCalendar;
extern __declspec (package) const GUID CLSID_HijriCalendar;
extern __declspec (package) const GUID CLSID_JapaneseCalendar;
extern __declspec (package) const GUID CLSID_JulianCalendar;
extern __declspec (package) const GUID CLSID_KoreanCalendar;
extern __declspec (package) const GUID CLSID_RegionInfo;
extern __declspec (package) const GUID CLSID_SortKey;
extern __declspec (package) const GUID CLSID_StringInfo;
extern __declspec (package) const GUID CLSID_TaiwanCalendar;
extern __declspec (package) const GUID CLSID_TextElementEnumerator;
extern __declspec (package) const GUID CLSID_TextInfo;
extern __declspec (package) const GUID CLSID_ThaiBuddhistCalendar;
extern __declspec (package) const GUID CLSID_NumberFormatInfo;
extern __declspec (package) const GUID CLSID_Encoding;
extern __declspec (package) const GUID CLSID_Encoder;
extern __declspec (package) const GUID CLSID_Decoder;
extern __declspec (package) const GUID CLSID_ASCIIEncoding;
extern __declspec (package) const GUID CLSID_UnicodeEncoding;
extern __declspec (package) const GUID CLSID_UTF7Encoding;
extern __declspec (package) const GUID CLSID_UTF8Encoding;
extern __declspec (package) const GUID CLSID_MissingManifestResourceException;
extern __declspec (package) const GUID CLSID_MissingSatelliteAssemblyException;
extern __declspec (package) const GUID CLSID_NeutralResourcesLanguageAttribute;
extern __declspec (package) const GUID CLSID_ResourceManager;
extern __declspec (package) const GUID CLSID_ResourceReader;
extern __declspec (package) const GUID CLSID_ResourceSet;
extern __declspec (package) const GUID CLSID_ResourceWriter;
extern __declspec (package) const GUID CLSID_SatelliteContractVersionAttribute;
extern __declspec (package) const GUID CLSID_Registry;
extern __declspec (package) const GUID CLSID_RegistryKey;
extern __declspec (package) const GUID CLSID_AllMembershipCondition;
extern __declspec (package) const GUID CLSID_ApplicationDirectory;
extern __declspec (package) const GUID CLSID_ApplicationDirectoryMembershipCondition;
extern __declspec (package) const GUID CLSID_ApplicationSecurityInfo;
extern __declspec (package) const GUID CLSID_ApplicationSecurityManager;
extern __declspec (package) const GUID CLSID_ApplicationTrust;
extern __declspec (package) const GUID CLSID_ApplicationTrustCollection;
extern __declspec (package) const GUID CLSID_ApplicationTrustEnumerator;
extern __declspec (package) const GUID CLSID_CodeGroup;
extern __declspec (package) const GUID CLSID_Evidence;
extern __declspec (package) const GUID CLSID_FileCodeGroup;
extern __declspec (package) const GUID CLSID_FirstMatchCodeGroup;
extern __declspec (package) const GUID CLSID_TrustManagerContext;
extern __declspec (package) const GUID CLSID_CodeConnectAccess;
extern __declspec (package) const GUID CLSID_NetCodeGroup;
extern __declspec (package) const GUID CLSID_PermissionRequestEvidence;
extern __declspec (package) const GUID CLSID_PolicyException;
extern __declspec (package) const GUID CLSID_PolicyLevel;
extern __declspec (package) const GUID CLSID_PolicyStatement;
extern __declspec (package) const GUID CLSID_Site;
extern __declspec (package) const GUID CLSID_SiteMembershipCondition;
extern __declspec (package) const GUID CLSID_StrongName;
extern __declspec (package) const GUID CLSID_StrongNameMembershipCondition;
extern __declspec (package) const GUID CLSID_UnionCodeGroup;
extern __declspec (package) const GUID CLSID_Url;
extern __declspec (package) const GUID CLSID_UrlMembershipCondition;
extern __declspec (package) const GUID CLSID_Zone;
extern __declspec (package) const GUID CLSID_ZoneMembershipCondition;
extern __declspec (package) const GUID CLSID_GacInstalled;
extern __declspec (package) const GUID CLSID_GacMembershipCondition;
extern __declspec (package) const GUID CLSID_Hash;
extern __declspec (package) const GUID CLSID_HashMembershipCondition;
extern __declspec (package) const GUID CLSID_Publisher;
extern __declspec (package) const GUID CLSID_PublisherMembershipCondition;
extern __declspec (package) const GUID CLSID_GenericIdentity;
extern __declspec (package) const GUID CLSID_GenericPrincipal;
extern __declspec (package) const GUID CLSID_WindowsIdentity;
extern __declspec (package) const GUID CLSID_WindowsImpersonationContext;
extern __declspec (package) const GUID CLSID_WindowsPrincipal;
extern __declspec (package) const GUID CLSID_UnmanagedFunctionPointerAttribute;
extern __declspec (package) const GUID CLSID_DispIdAttribute;
extern __declspec (package) const GUID CLSID_InterfaceTypeAttribute;
extern __declspec (package) const GUID CLSID_ComDefaultInterfaceAttribute;
extern __declspec (package) const GUID CLSID_ClassInterfaceAttribute;
extern __declspec (package) const GUID CLSID_ComVisibleAttribute;
extern __declspec (package) const GUID CLSID_TypeLibImportClassAttribute;
extern __declspec (package) const GUID CLSID_LCIDConversionAttribute;
extern __declspec (package) const GUID CLSID_ComRegisterFunctionAttribute;
extern __declspec (package) const GUID CLSID_ComUnregisterFunctionAttribute;
extern __declspec (package) const GUID CLSID_ProgIdAttribute;
extern __declspec (package) const GUID CLSID_ImportedFromTypeLibAttribute;
extern __declspec (package) const GUID CLSID_IDispatchImplAttribute;
extern __declspec (package) const GUID CLSID_ComSourceInterfacesAttribute;
extern __declspec (package) const GUID CLSID_ComConversionLossAttribute;
extern __declspec (package) const GUID CLSID_TypeLibTypeAttribute;
extern __declspec (package) const GUID CLSID_TypeLibFuncAttribute;
extern __declspec (package) const GUID CLSID_TypeLibVarAttribute;
extern __declspec (package) const GUID CLSID_MarshalAsAttribute;
extern __declspec (package) const GUID CLSID_ComImportAttribute;
extern __declspec (package) const GUID CLSID_GuidAttribute;
extern __declspec (package) const GUID CLSID_PreserveSigAttribute;
extern __declspec (package) const GUID CLSID_InAttribute;
extern __declspec (package) const GUID CLSID_OutAttribute;
extern __declspec (package) const GUID CLSID_OptionalAttribute;
extern __declspec (package) const GUID CLSID_DllImportAttribute;
extern __declspec (package) const GUID CLSID_StructLayoutAttribute;
extern __declspec (package) const GUID CLSID_FieldOffsetAttribute;
extern __declspec (package) const GUID CLSID_ComAliasNameAttribute;
extern __declspec (package) const GUID CLSID_AutomationProxyAttribute;
extern __declspec (package) const GUID CLSID_PrimaryInteropAssemblyAttribute;
extern __declspec (package) const GUID CLSID_CoClassAttribute;
extern __declspec (package) const GUID CLSID_ComEventInterfaceAttribute;
extern __declspec (package) const GUID CLSID_TypeLibVersionAttribute;
extern __declspec (package) const GUID CLSID_ComCompatibleVersionAttribute;
extern __declspec (package) const GUID CLSID_BestFitMappingAttribute;
extern __declspec (package) const GUID CLSID_DefaultCharSetAttribute;
extern __declspec (package) const GUID CLSID_SetWin32ContextInIDispatchAttribute;
extern __declspec (package) const GUID CLSID_ExternalException;
extern __declspec (package) const GUID CLSID_COMException;
extern __declspec (package) const GUID CLSID_InvalidOleVariantTypeException;
extern __declspec (package) const GUID CLSID_MarshalDirectiveException;
extern __declspec (package) const GUID CLSID_RuntimeEnvironment;
extern __declspec (package) const GUID CLSID_SEHException;
extern __declspec (package) const GUID CLSID_BStrWrapper;
extern __declspec (package) const GUID CLSID_CurrencyWrapper;
extern __declspec (package) const GUID CLSID_DispatchWrapper;
extern __declspec (package) const GUID CLSID_ErrorWrapper;
extern __declspec (package) const GUID CLSID_ExtensibleClassFactory;
extern __declspec (package) const GUID CLSID_InvalidComObjectException;
extern __declspec (package) const GUID CLSID_ObjectCreationDelegate;
extern __declspec (package) const GUID CLSID_SafeArrayRankMismatchException;
extern __declspec (package) const GUID CLSID_SafeArrayTypeMismatchException;
extern __declspec (package) const GUID CLSID_UnknownWrapper;
extern __declspec (package) const GUID CLSID_Stream;
extern __declspec (package) const GUID CLSID_BinaryReader;
extern __declspec (package) const GUID CLSID_BinaryWriter;
extern __declspec (package) const GUID CLSID_BufferedStream;
extern __declspec (package) const GUID CLSID_Directory;
extern __declspec (package) const GUID CLSID_FileSystemInfo;
extern __declspec (package) const GUID CLSID_DirectoryInfo;
extern __declspec (package) const GUID CLSID_IOException;
extern __declspec (package) const GUID CLSID_DirectoryNotFoundException;
extern __declspec (package) const GUID CLSID_DriveInfo;
extern __declspec (package) const GUID CLSID_DriveNotFoundException;
extern __declspec (package) const GUID CLSID_EndOfStreamException;
extern __declspec (package) const GUID CLSID_File;
extern __declspec (package) const GUID CLSID_FileInfo;
extern __declspec (package) const GUID CLSID_FileLoadException;
extern __declspec (package) const GUID CLSID_FileNotFoundException;
extern __declspec (package) const GUID CLSID_FileStream;
extern __declspec (package) const GUID CLSID_MemoryStream;
extern __declspec (package) const GUID CLSID_Path;
extern __declspec (package) const GUID CLSID_PathTooLongException;
extern __declspec (package) const GUID CLSID_TextReader;
extern __declspec (package) const GUID CLSID_StreamReader;
extern __declspec (package) const GUID CLSID_TextWriter;
extern __declspec (package) const GUID CLSID_StreamWriter;
extern __declspec (package) const GUID CLSID_StringReader;
extern __declspec (package) const GUID CLSID_StringWriter;
extern __declspec (package) const GUID CLSID_AccessedThroughPropertyAttribute;
extern __declspec (package) const GUID CLSID_CallConvCdecl;
extern __declspec (package) const GUID CLSID_CallConvStdcall;
extern __declspec (package) const GUID CLSID_CallConvThiscall;
extern __declspec (package) const GUID CLSID_CallConvFastcall;
extern __declspec (package) const GUID CLSID_CustomConstantAttribute;
extern __declspec (package) const GUID CLSID_DateTimeConstantAttribute;
extern __declspec (package) const GUID CLSID_DiscardableAttribute;
extern __declspec (package) const GUID CLSID_DecimalConstantAttribute;
extern __declspec (package) const GUID CLSID_CompilationRelaxationsAttribute;
extern __declspec (package) const GUID CLSID_CompilerGlobalScopeAttribute;
extern __declspec (package) const GUID CLSID_IndexerNameAttribute;
extern __declspec (package) const GUID CLSID_IsVolatile;
extern __declspec (package) const GUID CLSID_MethodImplAttribute;
extern __declspec (package) const GUID CLSID_RequiredAttributeAttribute;
extern __declspec (package) const GUID CLSID_IsCopyConstructed;
extern __declspec (package) const GUID CLSID_NativeCppClassAttribute;
extern __declspec (package) const GUID CLSID_IDispatchConstantAttribute;
extern __declspec (package) const GUID CLSID_IUnknownConstantAttribute;
extern __declspec (package) const GUID CLSID_SecurityElement;
extern __declspec (package) const GUID CLSID_XmlSyntaxException;
extern __declspec (package) const GUID CLSID_CodeAccessPermission;
extern __declspec (package) const GUID CLSID_EnvironmentPermission;
extern __declspec (package) const GUID CLSID_FileDialogPermission;
extern __declspec (package) const GUID CLSID_FileIOPermission;
extern __declspec (package) const GUID CLSID_SecurityAttribute;
extern __declspec (package) const GUID CLSID_CodeAccessSecurityAttribute;
extern __declspec (package) const GUID CLSID_HostProtectionAttribute;
extern __declspec (package) const GUID CLSID_IsolatedStoragePermission;
extern __declspec (package) const GUID CLSID_IsolatedStorageFilePermission;
extern __declspec (package) const GUID CLSID_EnvironmentPermissionAttribute;
extern __declspec (package) const GUID CLSID_FileDialogPermissionAttribute;
extern __declspec (package) const GUID CLSID_FileIOPermissionAttribute;
extern __declspec (package) const GUID CLSID_KeyContainerPermissionAttribute;
extern __declspec (package) const GUID CLSID_PrincipalPermissionAttribute;
extern __declspec (package) const GUID CLSID_ReflectionPermissionAttribute;
extern __declspec (package) const GUID CLSID_RegistryPermissionAttribute;
extern __declspec (package) const GUID CLSID_SecurityPermissionAttribute;
extern __declspec (package) const GUID CLSID_UIPermissionAttribute;
extern __declspec (package) const GUID CLSID_ZoneIdentityPermissionAttribute;
extern __declspec (package) const GUID CLSID_StrongNameIdentityPermissionAttribute;
extern __declspec (package) const GUID CLSID_SiteIdentityPermissionAttribute;
extern __declspec (package) const GUID CLSID_UrlIdentityPermissionAttribute;
extern __declspec (package) const GUID CLSID_PublisherIdentityPermissionAttribute;
extern __declspec (package) const GUID CLSID_IsolatedStoragePermissionAttribute;
extern __declspec (package) const GUID CLSID_IsolatedStorageFilePermissionAttribute;
extern __declspec (package) const GUID CLSID_PermissionSetAttribute;
extern __declspec (package) const GUID CLSID_ReflectionPermission;
extern __declspec (package) const GUID CLSID_PrincipalPermission;
extern __declspec (package) const GUID CLSID_SecurityPermission;
extern __declspec (package) const GUID CLSID_SiteIdentityPermission;
extern __declspec (package) const GUID CLSID_StrongNameIdentityPermission;
extern __declspec (package) const GUID CLSID_StrongNamePublicKeyBlob;
extern __declspec (package) const GUID CLSID_UIPermission;
extern __declspec (package) const GUID CLSID_UrlIdentityPermission;
extern __declspec (package) const GUID CLSID_ZoneIdentityPermission;
extern __declspec (package) const GUID CLSID_GacIdentityPermissionAttribute;
extern __declspec (package) const GUID CLSID_GacIdentityPermission;
extern __declspec (package) const GUID CLSID_KeyContainerPermissionAccessEntry;
extern __declspec (package) const GUID CLSID_KeyContainerPermissionAccessEntryCollection;
extern __declspec (package) const GUID CLSID_KeyContainerPermissionAccessEntryEnumerator;
extern __declspec (package) const GUID CLSID_KeyContainerPermission;
extern __declspec (package) const GUID CLSID_PublisherIdentityPermission;
extern __declspec (package) const GUID CLSID_RegistryPermission;
extern __declspec (package) const GUID CLSID_SuppressUnmanagedCodeSecurityAttribute;
extern __declspec (package) const GUID CLSID_UnverifiableCodeAttribute;
extern __declspec (package) const GUID CLSID_AllowPartiallyTrustedCallersAttribute;
extern __declspec (package) const GUID CLSID_HostSecurityManager;
extern __declspec (package) const GUID CLSID_PermissionSet;
extern __declspec (package) const GUID CLSID_NamedPermissionSet;
extern __declspec (package) const GUID CLSID_SecurityException;
extern __declspec (package) const GUID CLSID_HostProtectionException;
extern __declspec (package) const GUID CLSID_SecurityManager;
extern __declspec (package) const GUID CLSID_VerificationException;
extern __declspec (package) const GUID CLSID_ContextAttribute;
extern __declspec (package) const GUID CLSID_AsyncResult;
extern __declspec (package) const GUID CLSID_CallContext;
extern __declspec (package) const GUID CLSID_LogicalCallContext;
extern __declspec (package) const GUID CLSID_ChannelServices;
extern __declspec (package) const GUID CLSID_ClientChannelSinkStack;
extern __declspec (package) const GUID CLSID_ServerChannelSinkStack;
extern __declspec (package) const GUID CLSID_ClientSponsor;
extern __declspec (package) const GUID CLSID_CrossContextDelegate;
extern __declspec (package) const GUID CLSID_Context;
extern __declspec (package) const GUID CLSID_ContextProperty;
extern __declspec (package) const GUID CLSID_EnterpriseServicesHelper;
extern __declspec (package) const GUID CLSID_Header;
extern __declspec (package) const GUID CLSID_HeaderHandler;
extern __declspec (package) const GUID CLSID_ChannelDataStore;
extern __declspec (package) const GUID CLSID_TransportHeaders;
extern __declspec (package) const GUID CLSID_SinkProviderData;
extern __declspec (package) const GUID CLSID_BaseChannelObjectWithProperties;
extern __declspec (package) const GUID CLSID_BaseChannelSinkWithProperties;
extern __declspec (package) const GUID CLSID_BaseChannelWithProperties;
extern __declspec (package) const GUID CLSID_LifetimeServices;
extern __declspec (package) const GUID CLSID_ReturnMessage;
extern __declspec (package) const GUID CLSID_MethodCall;
extern __declspec (package) const GUID CLSID_ConstructionCall;
extern __declspec (package) const GUID CLSID_MethodResponse;
extern __declspec (package) const GUID CLSID_ConstructionResponse;
extern __declspec (package) const GUID CLSID_InternalMessageWrapper;
extern __declspec (package) const GUID CLSID_MethodCallMessageWrapper;
extern __declspec (package) const GUID CLSID_MethodReturnMessageWrapper;
extern __declspec (package) const GUID CLSID_ObjectHandle;
extern __declspec (package) const GUID CLSID_ObjRef;
extern __declspec (package) const GUID CLSID_OneWayAttribute;
extern __declspec (package) const GUID CLSID_ProxyAttribute;
extern __declspec (package) const GUID CLSID_RealProxy;
extern __declspec (package) const GUID CLSID_SoapAttribute;
extern __declspec (package) const GUID CLSID_SoapTypeAttribute;
extern __declspec (package) const GUID CLSID_SoapMethodAttribute;
extern __declspec (package) const GUID CLSID_SoapFieldAttribute;
extern __declspec (package) const GUID CLSID_SoapParameterAttribute;
extern __declspec (package) const GUID CLSID_RemotingConfiguration;
extern __declspec (package) const GUID CLSID_TypeEntry;
extern __declspec (package) const GUID CLSID_ActivatedClientTypeEntry;
extern __declspec (package) const GUID CLSID_ActivatedServiceTypeEntry;
extern __declspec (package) const GUID CLSID_WellKnownClientTypeEntry;
extern __declspec (package) const GUID CLSID_WellKnownServiceTypeEntry;
extern __declspec (package) const GUID CLSID_RemotingException;
extern __declspec (package) const GUID CLSID_ServerException;
extern __declspec (package) const GUID CLSID_RemotingTimeoutException;
extern __declspec (package) const GUID CLSID_RemotingServices;
extern __declspec (package) const GUID CLSID_InternalRemotingServices;
extern __declspec (package) const GUID CLSID_MessageSurrogateFilter;
extern __declspec (package) const GUID CLSID_RemotingSurrogateSelector;
extern __declspec (package) const GUID CLSID_SoapServices;
extern __declspec (package) const GUID CLSID_SoapDateTime;
extern __declspec (package) const GUID CLSID_SoapDuration;
extern __declspec (package) const GUID CLSID_SoapTime;
extern __declspec (package) const GUID CLSID_SoapDate;
extern __declspec (package) const GUID CLSID_SoapYearMonth;
extern __declspec (package) const GUID CLSID_SoapYear;
extern __declspec (package) const GUID CLSID_SoapMonthDay;
extern __declspec (package) const GUID CLSID_SoapDay;
extern __declspec (package) const GUID CLSID_SoapMonth;
extern __declspec (package) const GUID CLSID_SoapHexBinary;
extern __declspec (package) const GUID CLSID_SoapBase64Binary;
extern __declspec (package) const GUID CLSID_SoapInteger;
extern __declspec (package) const GUID CLSID_SoapPositiveInteger;
extern __declspec (package) const GUID CLSID_SoapNonPositiveInteger;
extern __declspec (package) const GUID CLSID_SoapNonNegativeInteger;
extern __declspec (package) const GUID CLSID_SoapNegativeInteger;
extern __declspec (package) const GUID CLSID_SoapAnyUri;
extern __declspec (package) const GUID CLSID_SoapQName;
extern __declspec (package) const GUID CLSID_SoapNotation;
extern __declspec (package) const GUID CLSID_SoapNormalizedString;
extern __declspec (package) const GUID CLSID_SoapToken;
extern __declspec (package) const GUID CLSID_SoapLanguage;
extern __declspec (package) const GUID CLSID_SoapName;
extern __declspec (package) const GUID CLSID_SoapIdrefs;
extern __declspec (package) const GUID CLSID_SoapEntities;
extern __declspec (package) const GUID CLSID_SoapNmtoken;
extern __declspec (package) const GUID CLSID_SoapNmtokens;
extern __declspec (package) const GUID CLSID_SoapNcName;
extern __declspec (package) const GUID CLSID_SoapId;
extern __declspec (package) const GUID CLSID_SoapIdref;
extern __declspec (package) const GUID CLSID_SoapEntity;
extern __declspec (package) const GUID CLSID_SynchronizationAttribute;
extern __declspec (package) const GUID CLSID_TrackingServices;
extern __declspec (package) const GUID CLSID_UrlAttribute;
extern __declspec (package) const GUID CLSID_IsolatedStorage;
extern __declspec (package) const GUID CLSID_IsolatedStorageFile;
extern __declspec (package) const GUID CLSID_IsolatedStorageFileStream;
extern __declspec (package) const GUID CLSID_IsolatedStorageException;
extern __declspec (package) const GUID CLSID_InternalRM;
extern __declspec (package) const GUID CLSID_InternalST;
extern __declspec (package) const GUID CLSID_SoapMessage;
extern __declspec (package) const GUID CLSID_SoapFault;
extern __declspec (package) const GUID CLSID_ServerFault;
extern __declspec (package) const GUID CLSID_BinaryFormatter;
extern __declspec (package) const GUID CLSID_DynamicILInfo;
extern __declspec (package) const GUID CLSID_DynamicMethod;
extern __declspec (package) const GUID CLSID_OpCodes;
extern __declspec (package) const GUID CLSID_GenericTypeParameterBuilder;
extern __declspec (package) const GUID CLSID_UnmanagedMarshal;
extern __declspec (package) const GUID CLSID_KeySizes;
extern __declspec (package) const GUID CLSID_CryptographicException;
extern __declspec (package) const GUID CLSID_CryptographicUnexpectedOperationException;
extern __declspec (package) const GUID CLSID_RandomNumberGenerator;
extern __declspec (package) const GUID CLSID_RNGCryptoServiceProvider;
extern __declspec (package) const GUID CLSID_AsymmetricAlgorithm;
extern __declspec (package) const GUID CLSID_AsymmetricKeyExchangeDeformatter;
extern __declspec (package) const GUID CLSID_AsymmetricKeyExchangeFormatter;
extern __declspec (package) const GUID CLSID_AsymmetricSignatureDeformatter;
extern __declspec (package) const GUID CLSID_AsymmetricSignatureFormatter;
extern __declspec (package) const GUID CLSID_ToBase64Transform;
extern __declspec (package) const GUID CLSID_FromBase64Transform;
extern __declspec (package) const GUID CLSID_CryptoAPITransform;
extern __declspec (package) const GUID CLSID_CspParameters;
extern __declspec (package) const GUID CLSID_CryptoConfig;
extern __declspec (package) const GUID CLSID_CryptoStream;
extern __declspec (package) const GUID CLSID_SymmetricAlgorithm;
extern __declspec (package) const GUID CLSID_DES;
extern __declspec (package) const GUID CLSID_DESCryptoServiceProvider;
extern __declspec (package) const GUID CLSID_DeriveBytes;
extern __declspec (package) const GUID CLSID_DSA;
extern __declspec (package) const GUID CLSID_DSACryptoServiceProvider;
extern __declspec (package) const GUID CLSID_DSASignatureDeformatter;
extern __declspec (package) const GUID CLSID_DSASignatureFormatter;
extern __declspec (package) const GUID CLSID_HashAlgorithm;
extern __declspec (package) const GUID CLSID_KeyedHashAlgorithm;
extern __declspec (package) const GUID CLSID_HMAC;
extern __declspec (package) const GUID CLSID_HMACMD5;
extern __declspec (package) const GUID CLSID_HMACRIPEMD160;
extern __declspec (package) const GUID CLSID_HMACSHA1;
extern __declspec (package) const GUID CLSID_HMACSHA256;
extern __declspec (package) const GUID CLSID_HMACSHA384;
extern __declspec (package) const GUID CLSID_HMACSHA512;
extern __declspec (package) const GUID CLSID_CspKeyContainerInfo;
extern __declspec (package) const GUID CLSID_MACTripleDES;
extern __declspec (package) const GUID CLSID_MD5;
extern __declspec (package) const GUID CLSID_MD5CryptoServiceProvider;
extern __declspec (package) const GUID CLSID_MaskGenerationMethod;
extern __declspec (package) const GUID CLSID_PasswordDeriveBytes;
extern __declspec (package) const GUID CLSID_PKCS1MaskGenerationMethod;
extern __declspec (package) const GUID CLSID_RC2;
extern __declspec (package) const GUID CLSID_RC2CryptoServiceProvider;
extern __declspec (package) const GUID CLSID_Rfc2898DeriveBytes;
extern __declspec (package) const GUID CLSID_RIPEMD160;
extern __declspec (package) const GUID CLSID_RIPEMD160Managed;
extern __declspec (package) const GUID CLSID_RSA;
extern __declspec (package) const GUID CLSID_RSACryptoServiceProvider;
extern __declspec (package) const GUID CLSID_RSAOAEPKeyExchangeDeformatter;
extern __declspec (package) const GUID CLSID_RSAOAEPKeyExchangeFormatter;
extern __declspec (package) const GUID CLSID_RSAPKCS1KeyExchangeDeformatter;
extern __declspec (package) const GUID CLSID_RSAPKCS1KeyExchangeFormatter;
extern __declspec (package) const GUID CLSID_RSAPKCS1SignatureDeformatter;
extern __declspec (package) const GUID CLSID_RSAPKCS1SignatureFormatter;
extern __declspec (package) const GUID CLSID_Rijndael;
extern __declspec (package) const GUID CLSID_RijndaelManaged;
extern __declspec (package) const GUID CLSID_RijndaelManagedTransform;
extern __declspec (package) const GUID CLSID_SHA1;
extern __declspec (package) const GUID CLSID_SHA1CryptoServiceProvider;
extern __declspec (package) const GUID CLSID_SHA1Managed;
extern __declspec (package) const GUID CLSID_SHA256;
extern __declspec (package) const GUID CLSID_SHA256Managed;
extern __declspec (package) const GUID CLSID_SHA384;
extern __declspec (package) const GUID CLSID_SHA384Managed;
extern __declspec (package) const GUID CLSID_SHA512;
extern __declspec (package) const GUID CLSID_SHA512Managed;
extern __declspec (package) const GUID CLSID_SignatureDescription;
extern __declspec (package) const GUID CLSID_TripleDES;
extern __declspec (package) const GUID CLSID_TripleDESCryptoServiceProvider;
extern __declspec (package) const GUID CLSID_X509Certificate;

// *********************************************************************//
// Déclaration Forward des types définis dans la bibliothèque de types    
// *********************************************************************//
enum      StringComparison;
enum      DateTimeKind;
enum      AppDomainManagerInitializationOptions;
enum      LoaderOptimization;
enum      AttributeTargets;
struct    Boolean;
//struct    Byte;
struct    Char;
enum      DayOfWeek;
struct    Decimal;
struct    Double;
enum      EnvironmentVariableTarget;
enum      SpecialFolder;
struct    Guid;
struct    Int16;
struct    Int32;
struct    Int64;
struct    IntPtr;
enum      MidpointRounding;
enum      PlatformID;
struct    RuntimeArgumentHandle;
struct    RuntimeTypeHandle;
struct    RuntimeMethodHandle;
struct    RuntimeFieldHandle;
struct    ModuleHandle;
struct    SByte;
struct    Single;
struct    TimeSpan;
enum      TypeCode;
struct    TypedReference;
struct    UInt16;
struct    UInt32;
struct    UInt64;
struct    UIntPtr;
struct    Void;
struct    LockCookie;
struct    NativeOverlapped;
enum      ThreadPriority;
enum      ThreadState;
enum      ApartmentState;
struct    DictionaryEntry;
enum      DebuggingModes;
enum      DebuggerBrowsableState;
enum      SymAddressKind;
struct    SymbolToken;
enum      AssemblyNameFlags;
enum      ProcessorArchitecture;
enum      BindingFlags;
enum      CallingConventions;
struct    CustomAttributeTypedArgument;
struct    CustomAttributeNamedArgument;
enum      EventAttributes;
enum      FieldAttributes;
struct    InterfaceMapping;
enum      ResourceLocation;
enum      MemberTypes;
enum      MethodAttributes;
enum      MethodImplAttributes;
enum      PortableExecutableKinds;
enum      ImageFileMachine;
enum      ExceptionHandlingClauseOptions;
enum      ParameterAttributes;
struct    ParameterModifier;
enum      PropertyAttributes;
enum      ResourceAttributes;
enum      TypeAttributes;
struct    SerializationEntry;
struct    StreamingContext;
enum      StreamingContextStates;
enum      CalendarAlgorithmType;
enum      CalendarWeekRule;
enum      CompareOptions;
enum      CultureTypes;
enum      DateTimeStyles;
enum      DigitShapes;
enum      GregorianCalendarTypes;
enum      NumberStyles;
enum      UnicodeCategory;
enum      NormalizationForm;
enum      UltimateResourceFallbackLocation;
enum      RegistryHive;
enum      RegistryValueKind;
enum      ApplicationVersionMatch;
enum      TrustManagerUIContext;
enum      PolicyStatementAttribute;
enum      PrincipalPolicy;
enum      WindowsAccountType;
enum      TokenImpersonationLevel;
enum      TokenAccessLevels;
enum      WindowsBuiltInRole;
struct    ArrayWithOffset;
enum      ComInterfaceType;
enum      ClassInterfaceType;
enum      IDispatchImplType;
enum      TypeLibTypeFlags;
enum      TypeLibFuncFlags;
enum      TypeLibVarFlags;
enum      VarEnum;
enum      UnmanagedType;
enum      CallingConvention;
enum      CharSet;
enum      GCHandleType;
struct    GCHandle;
struct    HandleRef;
enum      LayoutKind;
enum      ComMemberType;
enum      AssemblyRegistrationFlags;
enum      TypeLibImporterFlags;
enum      TypeLibExporterFlags;
enum      ImporterEventKind;
enum      ExporterEventKind;
enum      SearchOption;
enum      DriveType;
enum      FileAccess;
enum      FileMode;
enum      FileOptions;
enum      FileShare;
enum      FileAttributes;
enum      SeekOrigin;
enum      CompilationRelaxations;
enum      MethodImplOptions;
enum      MethodCodeType;
enum      EnvironmentPermissionAccess;
enum      FileDialogPermissionAccess;
enum      FileIOPermissionAccess;
enum      HostProtectionResource;
enum      IsolatedStorageContainment;
enum      PermissionState;
enum      SecurityAction;
enum      ReflectionPermissionFlag;
enum      SecurityPermissionFlag;
enum      UIPermissionWindow;
enum      UIPermissionClipboard;
enum      KeyContainerPermissionFlags;
enum      RegistryPermissionAccess;
enum      HostSecurityManagerOptions;
enum      PolicyLevelType;
enum      SecurityZone;
enum      WellKnownObjectMode;
enum      ActivatorLevel;
enum      ServerProcessing;
enum      LeaseState;
enum      SoapOption;
enum      XmlFieldOrderOption;
enum      CustomErrorsModes;
enum      IsolatedStorageScope;
enum      FormatterTypeStyle;
enum      FormatterAssemblyStyle;
enum      TypeFilterLevel;
enum      AssemblyBuilderAccess;
struct    EventToken;
struct    FieldToken;
struct    Label;
struct    MethodToken;
enum      PEFileKinds;
struct    OpCode;
enum      OpCodeType;
enum      StackBehaviour;
enum      OperandType;
enum      FlowControl;
struct    ParameterToken;
struct    PropertyToken;
struct    SignatureToken;
struct    StringToken;
enum      PackingSize;
struct    TypeToken;
struct    AssemblyHash;
enum      AssemblyHashAlgorithm;
enum      AssemblyVersionCompatibility;
enum      CipherMode;
enum      PaddingMode;
enum      FromBase64TransformMode;
enum      CspProviderFlags;
enum      CryptoStreamMode;
struct    DSAParameters;
enum      KeyNumber;
struct    RSAParameters;
enum      X509ContentType;
enum      X509KeyStorageFlags;
interface DECLSPEC_UUID("{65074F7F-63C0-304E-AF0A-D51741CB4A8D}") _Object;
typedef TComInterface<_Object, &IID__Object> _ObjectPtr;
interface DECLSPEC_UUID("{0CB251A7-3AB3-3B5C-A0B8-9DDF88824B85}") ICloneable;
typedef TComInterface<ICloneable, &IID_ICloneable> ICloneablePtr;
interface DECLSPEC_UUID("{496B0ABE-CDEE-11D3-88E8-00902754C43A}") IEnumerable;
typedef TComInterface<IEnumerable, &IID_IEnumerable> IEnumerablePtr;
interface DECLSPEC_UUID("{DE8DB6F8-D101-3A92-8D1C-E72E5F10E992}") ICollection;
typedef TComInterface<ICollection, &IID_ICollection> ICollectionPtr;
interface DECLSPEC_UUID("{7BCFA00F-F764-3113-9140-3BBD127A96BB}") IList;
typedef TComInterface<IList, &IID_IList> IListPtr;
interface DECLSPEC_UUID("{2B67CECE-71C3-36A9-A136-925CCC1935A8}") _Array;
typedef TComInterface<_Array, &IID__Array> _ArrayPtr;
interface DECLSPEC_UUID("{139E041D-0E41-39F5-A302-C4387E9D0A6C}") _ValueType;
typedef TComInterface<_ValueType, &IID__ValueType> _ValueTypePtr;
interface DECLSPEC_UUID("{496B0ABF-CDEE-11D3-88E8-00902754C43A}") IEnumerator;
typedef TComInterface<IEnumerator, &IID_IEnumerator> IEnumeratorPtr;
interface DECLSPEC_UUID("{805D7A98-D4AF-3F0F-967F-E5CF45312D2C}") IDisposable;
typedef TComInterface<IDisposable, &IID_IDisposable> IDisposablePtr;
interface DECLSPEC_UUID("{DEB0E770-91FD-3CF6-9A6C-E6A3656F3965}") IComparable;
typedef TComInterface<IComparable, &IID_IComparable> IComparablePtr;
interface DECLSPEC_UUID("{9A604EE7-E630-3DED-9444-BAAE247075AB}") IFormattable;
typedef TComInterface<IFormattable, &IID_IFormattable> IFormattablePtr;
interface DECLSPEC_UUID("{805E3B62-B5E9-393D-8941-377D8BF4556B}") IConvertible;
typedef TComInterface<IConvertible, &IID_IConvertible> IConvertiblePtr;
interface DECLSPEC_UUID("{D09D1E04-D590-39A3-B517-B734A49A9277}") _Enum;
typedef TComInterface<_Enum, &IID__Enum> _EnumPtr;
interface DECLSPEC_UUID("{36936699-FC79-324D-AB43-E33C1F94E263}") _String;
typedef TComInterface<_String, &IID__String> _StringPtr;
interface DECLSPEC_UUID("{C20FD3EB-7022-3D14-8477-760FAB54E50D}") IComparer;
typedef TComInterface<IComparer, &IID_IComparer> IComparerPtr;
interface DECLSPEC_UUID("{AAB7C6EA-CAB0-3ADB-82AA-CF32E29AF238}") IEqualityComparer;
typedef TComInterface<IEqualityComparer, &IID_IEqualityComparer> IEqualityComparerPtr;
interface DECLSPEC_UUID("{7499E7E8-DF01-3948-B8D4-FA4B9661D36B}") _StringComparer;
typedef TComInterface<_StringComparer, &IID__StringComparer> _StringComparerPtr;
interface DECLSPEC_UUID("{D0EEAA62-3D30-3EE2-B896-A2F34DDA47D8}") ISerializable;
typedef TComInterface<ISerializable, &IID_ISerializable> ISerializablePtr;
interface DECLSPEC_UUID("{9FB09782-8D39-3B0C-B79E-F7A37A65B3DA}") _StringBuilder;
typedef TComInterface<_StringBuilder, &IID__StringBuilder> _StringBuilderPtr;
interface DECLSPEC_UUID("{B36B5C63-42EF-38BC-A07E-0B34C98F164A}") _Exception;
typedef TComInterface<_Exception, &IID__Exception> _ExceptionPtr;
interface DECLSPEC_UUID("{4C482CC2-68E9-37C6-8353-9A94BD2D7F0B}") _SystemException;
typedef TComInterface<_SystemException, &IID__SystemException> _SystemExceptionPtr;
interface DECLSPEC_UUID("{CF3EDB7E-0574-3383-A44F-292F7C145DB4}") _OutOfMemoryException;
typedef TComInterface<_OutOfMemoryException, &IID__OutOfMemoryException> _OutOfMemoryExceptionPtr;
interface DECLSPEC_UUID("{9CF4339A-2911-3B8A-8F30-E5C6B5BE9A29}") _StackOverflowException;
typedef TComInterface<_StackOverflowException, &IID__StackOverflowException> _StackOverflowExceptionPtr;
interface DECLSPEC_UUID("{152A6B4D-09AF-3EDF-8CBA-11797EEEEA4E}") _DataMisalignedException;
typedef TComInterface<_DataMisalignedException, &IID__DataMisalignedException> _DataMisalignedExceptionPtr;
interface DECLSPEC_UUID("{CCF0139C-79F7-3D0A-AFFE-2B0762C65B07}") _ExecutionEngineException;
typedef TComInterface<_ExecutionEngineException, &IID__ExecutionEngineException> _ExecutionEngineExceptionPtr;
interface DECLSPEC_UUID("{FB6AB00F-5096-3AF8-A33D-D7885A5FA829}") _Delegate;
typedef TComInterface<_Delegate, &IID__Delegate> _DelegatePtr;
interface DECLSPEC_UUID("{16FE0885-9129-3884-A232-90B58C5B2AA9}") _MulticastDelegate;
typedef TComInterface<_MulticastDelegate, &IID__MulticastDelegate> _MulticastDelegatePtr;
interface DECLSPEC_UUID("{7EABA4E2-1259-3CF2-B084-9854278E5897}") _MemberAccessException;
typedef TComInterface<_MemberAccessException, &IID__MemberAccessException> _MemberAccessExceptionPtr;
interface DECLSPEC_UUID("{03973551-57A1-3900-A2B5-9083E3FF2943}") _Activator;
typedef TComInterface<_Activator, &IID__Activator> _ActivatorPtr;
interface DECLSPEC_UUID("{13EF674A-6327-3CAF-8772-FA0395612669}") _AccessViolationException;
typedef TComInterface<_AccessViolationException, &IID__AccessViolationException> _AccessViolationExceptionPtr;
interface DECLSPEC_UUID("{D1204423-01F0-336A-8911-A7E8FBE185A3}") _ApplicationActivator;
typedef TComInterface<_ApplicationActivator, &IID__ApplicationActivator> _ApplicationActivatorPtr;
interface DECLSPEC_UUID("{D81130BF-D627-3B91-A7C7-CEA597093464}") _ApplicationException;
typedef TComInterface<_ApplicationException, &IID__ApplicationException> _ApplicationExceptionPtr;
interface DECLSPEC_UUID("{1F9EC719-343A-3CB3-8040-3927626777C1}") _EventArgs;
typedef TComInterface<_EventArgs, &IID__EventArgs> _EventArgsPtr;
interface DECLSPEC_UUID("{98947CF0-77E7-328E-B709-5DD1AA1C9C96}") _ResolveEventArgs;
typedef TComInterface<_ResolveEventArgs, &IID__ResolveEventArgs> _ResolveEventArgsPtr;
interface DECLSPEC_UUID("{7A0325F0-22C2-31F9-8823-9B8AEE9456B1}") _AssemblyLoadEventArgs;
typedef TComInterface<_AssemblyLoadEventArgs, &IID__AssemblyLoadEventArgs> _AssemblyLoadEventArgsPtr;
interface DECLSPEC_UUID("{8E54A9CC-7AA4-34CA-985B-BD7D7527B110}") _ResolveEventHandler;
typedef TComInterface<_ResolveEventHandler, &IID__ResolveEventHandler> _ResolveEventHandlerPtr;
interface DECLSPEC_UUID("{DEECE11F-A893-3E35-A4C3-DAB7FA0911EB}") _AssemblyLoadEventHandler;
typedef TComInterface<_AssemblyLoadEventHandler, &IID__AssemblyLoadEventHandler> _AssemblyLoadEventHandlerPtr;
interface DECLSPEC_UUID("{5E6F9EDB-3CE1-3A56-86D9-CD2DDF7A6FFF}") _AppDomainInitializer;
typedef TComInterface<_AppDomainInitializer, &IID__AppDomainInitializer> _AppDomainInitializerPtr;
interface DECLSPEC_UUID("{2C358E27-8C1A-3C03-B086-A40465625557}") _MarshalByRefObject;
typedef TComInterface<_MarshalByRefObject, &IID__MarshalByRefObject> _MarshalByRefObjectPtr;
interface DECLSPEC_UUID("{05F696DC-2B29-3663-AD8B-C4389CF2A713}") _AppDomain;
typedef TComInterface<_AppDomain, &IID__AppDomain> _AppDomainPtr;
interface DECLSPEC_UUID("{35A8F3AC-FE28-360F-A0C0-9A4D50C4682A}") IEvidenceFactory;
typedef TComInterface<IEvidenceFactory, &IID_IEvidenceFactory> IEvidenceFactoryPtr;
interface DECLSPEC_UUID("{AF93163F-C2F4-3FAB-9FF1-728A7AAAD1CB}") _CrossAppDomainDelegate;
typedef TComInterface<_CrossAppDomainDelegate, &IID__CrossAppDomainDelegate> _CrossAppDomainDelegatePtr;
interface DECLSPEC_UUID("{63E53E04-D31B-3099-9F0C-C7A1C883C1D9}") _AppDomainManager;
typedef TComInterface<_AppDomainManager, &IID__AppDomainManager> _AppDomainManagerPtr;
interface DECLSPEC_UUID("{27FFF232-A7A8-40DD-8D4A-734AD59FCD41}") IAppDomainSetup;
typedef TComInterface<IAppDomainSetup, &IID_IAppDomainSetup> IAppDomainSetupPtr;
interface DECLSPEC_UUID("{917B14D0-2D9E-38B8-92A9-381ACF52F7C0}") _Attribute;
typedef TComInterface<_Attribute, &IID__Attribute> _AttributePtr;
interface DECLSPEC_UUID("{CE59D7AD-05CA-33B4-A1DD-06028D46E9D2}") _LoaderOptimizationAttribute;
typedef TComInterface<_LoaderOptimizationAttribute, &IID__LoaderOptimizationAttribute> _LoaderOptimizationAttributePtr;
interface DECLSPEC_UUID("{6E96AA70-9FFB-399D-96BF-A68436095C54}") _AppDomainUnloadedException;
typedef TComInterface<_AppDomainUnloadedException, &IID__AppDomainUnloadedException> _AppDomainUnloadedExceptionPtr;
interface DECLSPEC_UUID("{CFD9CA27-F0BA-388A-ACDE-B7E20FCAD79C}") _ActivationArguments;
typedef TComInterface<_ActivationArguments, &IID__ActivationArguments> _ActivationArgumentsPtr;
interface DECLSPEC_UUID("{2F218F95-4215-3CC6-8A51-BD2770C090E4}") _ApplicationId;
typedef TComInterface<_ApplicationId, &IID__ApplicationId> _ApplicationIdPtr;
interface DECLSPEC_UUID("{4DB2C2B7-CBC2-3185-B966-875D4625B1A8}") _ArgumentException;
typedef TComInterface<_ArgumentException, &IID__ArgumentException> _ArgumentExceptionPtr;
interface DECLSPEC_UUID("{C991949B-E623-3F24-885C-BBB01FF43564}") _ArgumentNullException;
typedef TComInterface<_ArgumentNullException, &IID__ArgumentNullException> _ArgumentNullExceptionPtr;
interface DECLSPEC_UUID("{77DA3028-BC45-3E82-BF76-2C123EE2C021}") _ArgumentOutOfRangeException;
typedef TComInterface<_ArgumentOutOfRangeException, &IID__ArgumentOutOfRangeException> _ArgumentOutOfRangeExceptionPtr;
interface DECLSPEC_UUID("{9B012CF1-ACF6-3389-A336-C023040C62A2}") _ArithmeticException;
typedef TComInterface<_ArithmeticException, &IID__ArithmeticException> _ArithmeticExceptionPtr;
interface DECLSPEC_UUID("{DD7488A6-1B3F-3823-9556-C2772B15150F}") _ArrayTypeMismatchException;
typedef TComInterface<_ArrayTypeMismatchException, &IID__ArrayTypeMismatchException> _ArrayTypeMismatchExceptionPtr;
interface DECLSPEC_UUID("{3612706E-0239-35FD-B900-0819D16D442D}") _AsyncCallback;
typedef TComInterface<_AsyncCallback, &IID__AsyncCallback> _AsyncCallbackPtr;
interface DECLSPEC_UUID("{A902A192-49BA-3EC8-B444-AF5F7743F61A}") _AttributeUsageAttribute;
typedef TComInterface<_AttributeUsageAttribute, &IID__AttributeUsageAttribute> _AttributeUsageAttributePtr;
interface DECLSPEC_UUID("{F98BCE04-4A4B-398C-A512-FD8348D51E3B}") _BadImageFormatException;
typedef TComInterface<_BadImageFormatException, &IID__BadImageFormatException> _BadImageFormatExceptionPtr;
interface DECLSPEC_UUID("{F036BCA4-F8DF-3682-8290-75285CE7456C}") _Buffer;
typedef TComInterface<_Buffer, &IID__Buffer> _BufferPtr;
interface DECLSPEC_UUID("{6D4B6ADB-B9FA-3809-B5EA-FA57B56C546F}") _CannotUnloadAppDomainException;
typedef TComInterface<_CannotUnloadAppDomainException, &IID__CannotUnloadAppDomainException> _CannotUnloadAppDomainExceptionPtr;
interface DECLSPEC_UUID("{1DD627FC-89E3-384F-BB9D-58CB4EFB9456}") _CharEnumerator;
typedef TComInterface<_CharEnumerator, &IID__CharEnumerator> _CharEnumeratorPtr;
interface DECLSPEC_UUID("{BF1AF177-94CA-3E6D-9D91-55CF9E859D22}") _CLSCompliantAttribute;
typedef TComInterface<_CLSCompliantAttribute, &IID__CLSCompliantAttribute> _CLSCompliantAttributePtr;
interface DECLSPEC_UUID("{C2A10F3A-356A-3C77-AAB9-8991D73A2561}") _TypeUnloadedException;
typedef TComInterface<_TypeUnloadedException, &IID__TypeUnloadedException> _TypeUnloadedExceptionPtr;
interface DECLSPEC_UUID("{C281C7F1-4AA9-3517-961A-463CFED57E75}") _Thread;
typedef TComInterface<_Thread, &IID__Thread> _ThreadPtr;
interface DECLSPEC_UUID("{6B3F9834-1725-38C5-955E-20F051D067BD}") _CriticalFinalizerObject;
typedef TComInterface<_CriticalFinalizerObject, &IID__CriticalFinalizerObject> _CriticalFinalizerObjectPtr;
interface DECLSPEC_UUID("{7386F4D7-7C11-389F-BB75-895714B12BB5}") _ContextMarshalException;
typedef TComInterface<_ContextMarshalException, &IID__ContextMarshalException> _ContextMarshalExceptionPtr;
interface DECLSPEC_UUID("{3EB1D909-E8BF-3C6B-ADA5-0E86E31E186E}") _ContextBoundObject;
typedef TComInterface<_ContextBoundObject, &IID__ContextBoundObject> _ContextBoundObjectPtr;
interface DECLSPEC_UUID("{160D517F-F175-3B61-8264-6D2305B8246C}") _ContextStaticAttribute;
typedef TComInterface<_ContextStaticAttribute, &IID__ContextStaticAttribute> _ContextStaticAttributePtr;
interface DECLSPEC_UUID("{3025F666-7891-33D7-AACD-23D169EF354E}") _TimeZone;
typedef TComInterface<_TimeZone, &IID__TimeZone> _TimeZonePtr;
interface DECLSPEC_UUID("{0D9F1B65-6D27-3E9F-BAF3-0597837E0F33}") _DBNull;
typedef TComInterface<_DBNull, &IID__DBNull> _DBNullPtr;
interface DECLSPEC_UUID("{3169AB11-7109-3808-9A61-EF4BA0534FD9}") _Binder;
typedef TComInterface<_Binder, &IID__Binder> _BinderPtr;
interface DECLSPEC_UUID("{6E70ED5F-0439-38CE-83BB-860F1421F29F}") IObjectReference;
typedef TComInterface<IObjectReference, &IID_IObjectReference> IObjectReferencePtr;
interface DECLSPEC_UUID("{BDEEA460-8241-3B41-9ED3-6E3E9977AC7F}") _DivideByZeroException;
typedef TComInterface<_DivideByZeroException, &IID__DivideByZeroException> _DivideByZeroExceptionPtr;
interface DECLSPEC_UUID("{D345A42B-CFE0-3EEE-861C-F3322812B388}") _DuplicateWaitObjectException;
typedef TComInterface<_DuplicateWaitObjectException, &IID__DuplicateWaitObjectException> _DuplicateWaitObjectExceptionPtr;
interface DECLSPEC_UUID("{82D6B3BF-A633-3B3B-A09E-2363E4B24A41}") _TypeLoadException;
typedef TComInterface<_TypeLoadException, &IID__TypeLoadException> _TypeLoadExceptionPtr;
interface DECLSPEC_UUID("{67388F3F-B600-3BCF-84AA-BB2B88DD9EE2}") _EntryPointNotFoundException;
typedef TComInterface<_EntryPointNotFoundException, &IID__EntryPointNotFoundException> _EntryPointNotFoundExceptionPtr;
interface DECLSPEC_UUID("{24AE6464-2834-32CD-83D6-FA06953DE62A}") _DllNotFoundException;
typedef TComInterface<_DllNotFoundException, &IID__DllNotFoundException> _DllNotFoundExceptionPtr;
interface DECLSPEC_UUID("{29DC56CF-B981-3432-97C8-3680AB6D862D}") _Environment;
typedef TComInterface<_Environment, &IID__Environment> _EnvironmentPtr;
interface DECLSPEC_UUID("{7CEFC46E-16E0-3E65-9C38-55B4342BA7F0}") _EventHandler;
typedef TComInterface<_EventHandler, &IID__EventHandler> _EventHandlerPtr;
interface DECLSPEC_UUID("{8D5F5811-FFA1-3306-93E3-8AFC572B9B82}") _FieldAccessException;
typedef TComInterface<_FieldAccessException, &IID__FieldAccessException> _FieldAccessExceptionPtr;
interface DECLSPEC_UUID("{EBE3746D-DDEC-3D23-8E8D-9361BA87BAC6}") _FlagsAttribute;
typedef TComInterface<_FlagsAttribute, &IID__FlagsAttribute> _FlagsAttributePtr;
interface DECLSPEC_UUID("{07F92156-398A-3548-90B7-2E58026353D0}") _FormatException;
typedef TComInterface<_FormatException, &IID__FormatException> _FormatExceptionPtr;
interface DECLSPEC_UUID("{11AB34E7-0176-3C9E-9EFE-197858400A3D}") IAsyncResult;
typedef TComInterface<IAsyncResult, &IID_IAsyncResult> IAsyncResultPtr;
interface DECLSPEC_UUID("{2B130940-CA5E-3406-8385-E259E68AB039}") ICustomFormatter;
typedef TComInterface<ICustomFormatter, &IID_ICustomFormatter> ICustomFormatterPtr;
interface DECLSPEC_UUID("{C8CB1DED-2814-396A-9CC0-473CA49779CC}") IFormatProvider;
typedef TComInterface<IFormatProvider, &IID_IFormatProvider> IFormatProviderPtr;
interface DECLSPEC_UUID("{E5A5F1E4-82C1-391F-A1C6-F39EAE9DC72F}") _IndexOutOfRangeException;
typedef TComInterface<_IndexOutOfRangeException, &IID__IndexOutOfRangeException> _IndexOutOfRangeExceptionPtr;
interface DECLSPEC_UUID("{FA047CBD-9BA5-3A13-9B1F-6694D622CD76}") _InvalidCastException;
typedef TComInterface<_InvalidCastException, &IID__InvalidCastException> _InvalidCastExceptionPtr;
interface DECLSPEC_UUID("{8D520D10-0B8A-3553-8874-D30A4AD2FF4C}") _InvalidOperationException;
typedef TComInterface<_InvalidOperationException, &IID__InvalidOperationException> _InvalidOperationExceptionPtr;
interface DECLSPEC_UUID("{3410E0FB-636F-3CD1-8045-3993CA113F25}") _InvalidProgramException;
typedef TComInterface<_InvalidProgramException, &IID__InvalidProgramException> _InvalidProgramExceptionPtr;
interface DECLSPEC_UUID("{DC77F976-318D-3A1A-9B60-ABB9DD9406D6}") _LocalDataStoreSlot;
typedef TComInterface<_LocalDataStoreSlot, &IID__LocalDataStoreSlot> _LocalDataStoreSlotPtr;
interface DECLSPEC_UUID("{FF0BF77D-8F81-3D31-A3BB-6F54440FA7E5}") _MethodAccessException;
typedef TComInterface<_MethodAccessException, &IID__MethodAccessException> _MethodAccessExceptionPtr;
interface DECLSPEC_UUID("{8897D14B-7FB3-3D8B-9EE4-221C3DBAD6FE}") _MissingMemberException;
typedef TComInterface<_MissingMemberException, &IID__MissingMemberException> _MissingMemberExceptionPtr;
interface DECLSPEC_UUID("{9717176D-1179-3487-8849-CF5F63DE356E}") _MissingFieldException;
typedef TComInterface<_MissingFieldException, &IID__MissingFieldException> _MissingFieldExceptionPtr;
interface DECLSPEC_UUID("{E5C659F6-92C8-3887-A07E-74D0D9C6267A}") _MissingMethodException;
typedef TComInterface<_MissingMethodException, &IID__MissingMethodException> _MissingMethodExceptionPtr;
interface DECLSPEC_UUID("{D2BA71CC-1B3D-3966-A0D7-C61E957AD325}") _MulticastNotSupportedException;
typedef TComInterface<_MulticastNotSupportedException, &IID__MulticastNotSupportedException> _MulticastNotSupportedExceptionPtr;
interface DECLSPEC_UUID("{665C9669-B9C6-3ADD-9213-099F0127C893}") _NonSerializedAttribute;
typedef TComInterface<_NonSerializedAttribute, &IID__NonSerializedAttribute> _NonSerializedAttributePtr;
interface DECLSPEC_UUID("{8E21CE22-4F17-347B-B3B5-6A6DF3E0E58A}") _NotFiniteNumberException;
typedef TComInterface<_NotFiniteNumberException, &IID__NotFiniteNumberException> _NotFiniteNumberExceptionPtr;
interface DECLSPEC_UUID("{1E4D31A2-63EA-397A-A77E-B20AD87A9614}") _NotImplementedException;
typedef TComInterface<_NotImplementedException, &IID__NotImplementedException> _NotImplementedExceptionPtr;
interface DECLSPEC_UUID("{40E5451F-B237-33F8-945B-0230DB700BBB}") _NotSupportedException;
typedef TComInterface<_NotSupportedException, &IID__NotSupportedException> _NotSupportedExceptionPtr;
interface DECLSPEC_UUID("{ECBE2313-CF41-34B4-9FD0-B6CD602B023F}") _NullReferenceException;
typedef TComInterface<_NullReferenceException, &IID__NullReferenceException> _NullReferenceExceptionPtr;
interface DECLSPEC_UUID("{17B730BA-45EF-3DDF-9F8D-A490BAC731F4}") _ObjectDisposedException;
typedef TComInterface<_ObjectDisposedException, &IID__ObjectDisposedException> _ObjectDisposedExceptionPtr;
interface DECLSPEC_UUID("{E84307BE-3036-307A-ACC2-5D5DE8A006A8}") _ObsoleteAttribute;
typedef TComInterface<_ObsoleteAttribute, &IID__ObsoleteAttribute> _ObsoleteAttributePtr;
interface DECLSPEC_UUID("{9E230640-A5D0-30E1-B217-9D2B6CC0FC40}") _OperatingSystem;
typedef TComInterface<_OperatingSystem, &IID__OperatingSystem> _OperatingSystemPtr;
interface DECLSPEC_UUID("{9DF9AF5A-7853-3D55-9B48-BD1F5D8367AB}") _OperationCanceledException;
typedef TComInterface<_OperationCanceledException, &IID__OperationCanceledException> _OperationCanceledExceptionPtr;
interface DECLSPEC_UUID("{37C69A5D-7619-3A0F-A96B-9C9578AE00EF}") _OverflowException;
typedef TComInterface<_OverflowException, &IID__OverflowException> _OverflowExceptionPtr;
interface DECLSPEC_UUID("{D54500AE-8CF4-3092-9054-90DC91AC65C9}") _ParamArrayAttribute;
typedef TComInterface<_ParamArrayAttribute, &IID__ParamArrayAttribute> _ParamArrayAttributePtr;
interface DECLSPEC_UUID("{1EB8340B-8190-3D9D-92F8-51244B9804C5}") _PlatformNotSupportedException;
typedef TComInterface<_PlatformNotSupportedException, &IID__PlatformNotSupportedException> _PlatformNotSupportedExceptionPtr;
interface DECLSPEC_UUID("{0F240708-629A-31AB-94A5-2BB476FE1783}") _Random;
typedef TComInterface<_Random, &IID__Random> _RandomPtr;
interface DECLSPEC_UUID("{871DDC46-B68E-3FEE-A09A-C808B0F827E6}") _RankException;
typedef TComInterface<_RankException, &IID__RankException> _RankExceptionPtr;
interface DECLSPEC_UUID("{B9B91146-D6C2-3A62-8159-C2D1794CDEB0}") ICustomAttributeProvider;
typedef TComInterface<ICustomAttributeProvider, &IID_ICustomAttributeProvider> ICustomAttributeProviderPtr;
interface DECLSPEC_UUID("{F7102FA9-CABB-3A74-A6DA-B4567EF1B079}") _MemberInfo;
typedef TComInterface<_MemberInfo, &IID__MemberInfo> _MemberInfoPtr;
interface DECLSPEC_UUID("{BCA8B44D-AAD6-3A86-8AB7-03349F4F2DA2}") _Type;
typedef TComInterface<_Type, &IID__Type> _TypePtr;
interface DECLSPEC_UUID("{AFBF15E5-C37C-11D2-B88E-00A0C9B471B8}") IReflect;
typedef TComInterface<IReflect, &IID_IReflect> IReflectPtr;
interface DECLSPEC_UUID("{1B96E53C-4028-38BC-9DC3-8D7A9555C311}") _SerializableAttribute;
typedef TComInterface<_SerializableAttribute, &IID__SerializableAttribute> _SerializableAttributePtr;
interface DECLSPEC_UUID("{7AB88CA9-17F4-385E-AD41-4EE0AA316FA1}") _TimeoutException;
typedef TComInterface<_TimeoutException, &IID__TimeoutException> _TimeoutExceptionPtr;
interface DECLSPEC_UUID("{FEB0323D-8CE4-36A4-A41E-0BA0C32E1A6A}") _TypeInitializationException;
typedef TComInterface<_TypeInitializationException, &IID__TypeInitializationException> _TypeInitializationExceptionPtr;
interface DECLSPEC_UUID("{6193C5F6-6807-3561-A7F3-B64C80B5F00F}") _UnauthorizedAccessException;
typedef TComInterface<_UnauthorizedAccessException, &IID__UnauthorizedAccessException> _UnauthorizedAccessExceptionPtr;
interface DECLSPEC_UUID("{A218E20A-0905-3741-B0B3-9E3193162E50}") _UnhandledExceptionEventArgs;
typedef TComInterface<_UnhandledExceptionEventArgs, &IID__UnhandledExceptionEventArgs> _UnhandledExceptionEventArgsPtr;
interface DECLSPEC_UUID("{84199E64-439C-3011-B249-3C9065735ADB}") _UnhandledExceptionEventHandler;
typedef TComInterface<_UnhandledExceptionEventHandler, &IID__UnhandledExceptionEventHandler> _UnhandledExceptionEventHandlerPtr;
interface DECLSPEC_UUID("{011A90C5-4910-3C29-BBB7-50D05CCBAA4A}") _Version;
typedef TComInterface<_Version, &IID__Version> _VersionPtr;
interface DECLSPEC_UUID("{C5DF3568-C251-3C58-AFB4-32E79E8261F0}") _WeakReference;
typedef TComInterface<_WeakReference, &IID__WeakReference> _WeakReferencePtr;
interface DECLSPEC_UUID("{40DFC50A-E93A-3C08-B9EF-E2B4F28B5676}") _WaitHandle;
typedef TComInterface<_WaitHandle, &IID__WaitHandle> _WaitHandlePtr;
interface DECLSPEC_UUID("{E142DB4A-1A52-34CE-965E-13AFFD5447D0}") _EventWaitHandle;
typedef TComInterface<_EventWaitHandle, &IID__EventWaitHandle> _EventWaitHandlePtr;
interface DECLSPEC_UUID("{3F243EBD-612F-3DB8-9E03-BD92343A8371}") _AutoResetEvent;
typedef TComInterface<_AutoResetEvent, &IID__AutoResetEvent> _AutoResetEventPtr;
interface DECLSPEC_UUID("{56D201F1-3E5D-39D9-B5DE-064710818905}") _ContextCallback;
typedef TComInterface<_ContextCallback, &IID__ContextCallback> _ContextCallbackPtr;
interface DECLSPEC_UUID("{C460E2B4-E199-412A-8456-84DC3E4838C3}") IObjectHandle;
typedef TComInterface<IObjectHandle, &IID_IObjectHandle> IObjectHandlePtr;
interface DECLSPEC_UUID("{C0BB9361-268F-3E72-BF6F-4120175A1500}") _ManualResetEvent;
typedef TComInterface<_ManualResetEvent, &IID__ManualResetEvent> _ManualResetEventPtr;
interface DECLSPEC_UUID("{EE22485E-4C45-3C9D-9027-A8D61C5F53F2}") _Monitor;
typedef TComInterface<_Monitor, &IID__Monitor> _MonitorPtr;
interface DECLSPEC_UUID("{36CB559B-87C6-3AD2-9225-62A7ED499B37}") _Mutex;
typedef TComInterface<_Mutex, &IID__Mutex> _MutexPtr;
interface DECLSPEC_UUID("{DD846FCC-8D04-3665-81B6-AACBE99C19C3}") _Overlapped;
typedef TComInterface<_Overlapped, &IID__Overlapped> _OverlappedPtr;
interface DECLSPEC_UUID("{AD89B568-4FD4-3F8D-8327-B396B20A460E}") _ReaderWriterLock;
typedef TComInterface<_ReaderWriterLock, &IID__ReaderWriterLock> _ReaderWriterLockPtr;
interface DECLSPEC_UUID("{87F55344-17E0-30FD-8EB9-38EAF6A19B3F}") _SynchronizationLockException;
typedef TComInterface<_SynchronizationLockException, &IID__SynchronizationLockException> _SynchronizationLockExceptionPtr;
interface DECLSPEC_UUID("{95B525DB-6B81-3CDC-8FE7-713F7FC793C0}") _ThreadAbortException;
typedef TComInterface<_ThreadAbortException, &IID__ThreadAbortException> _ThreadAbortExceptionPtr;
interface DECLSPEC_UUID("{B9E07599-7C44-33BE-A70E-EFA16F51F54A}") _ThreadInterruptedException;
typedef TComInterface<_ThreadInterruptedException, &IID__ThreadInterruptedException> _ThreadInterruptedExceptionPtr;
interface DECLSPEC_UUID("{64409425-F8C9-370E-809E-3241CE804541}") _RegisteredWaitHandle;
typedef TComInterface<_RegisteredWaitHandle, &IID__RegisteredWaitHandle> _RegisteredWaitHandlePtr;
interface DECLSPEC_UUID("{CE949142-4D4C-358D-89A9-E69A531AA363}") _WaitCallback;
typedef TComInterface<_WaitCallback, &IID__WaitCallback> _WaitCallbackPtr;
interface DECLSPEC_UUID("{F078F795-F452-3D2D-8CC8-16D66AE46C67}") _WaitOrTimerCallback;
typedef TComInterface<_WaitOrTimerCallback, &IID__WaitOrTimerCallback> _WaitOrTimerCallbackPtr;
interface DECLSPEC_UUID("{BBAE942D-BFF4-36E2-A3BC-508BB3801F4F}") _IOCompletionCallback;
typedef TComInterface<_IOCompletionCallback, &IID__IOCompletionCallback> _IOCompletionCallbackPtr;
interface DECLSPEC_UUID("{B45BBD7E-A977-3F56-A626-7A693E5DBBC5}") _ThreadStart;
typedef TComInterface<_ThreadStart, &IID__ThreadStart> _ThreadStartPtr;
interface DECLSPEC_UUID("{A13A41CF-E066-3B90-82F4-73109104E348}") _ThreadStateException;
typedef TComInterface<_ThreadStateException, &IID__ThreadStateException> _ThreadStateExceptionPtr;
interface DECLSPEC_UUID("{A6B94B6D-854E-3172-A4EC-A17EDD16F85E}") _ThreadStaticAttribute;
typedef TComInterface<_ThreadStaticAttribute, &IID__ThreadStaticAttribute> _ThreadStaticAttributePtr;
interface DECLSPEC_UUID("{81456E86-22AF-31D1-A91A-9C370C0E2530}") _Timeout;
typedef TComInterface<_Timeout, &IID__Timeout> _TimeoutPtr;
interface DECLSPEC_UUID("{3741BC6F-101B-36D7-A9D5-03FCC0ECDA35}") _TimerCallback;
typedef TComInterface<_TimerCallback, &IID__TimerCallback> _TimerCallbackPtr;
interface DECLSPEC_UUID("{B49A029B-406B-3B1E-88E4-F86690D20364}") _Timer;
typedef TComInterface<_Timer, &IID__Timer> _TimerPtr;
interface DECLSPEC_UUID("{85D72F83-BE91-3CB1-B4F0-76B56FF04033}") _STAThreadAttribute;
typedef TComInterface<_STAThreadAttribute, &IID__STAThreadAttribute> _STAThreadAttributePtr;
interface DECLSPEC_UUID("{C02468D1-8713-3225-BDA3-49B2FE37DDBB}") _MTAThreadAttribute;
typedef TComInterface<_MTAThreadAttribute, &IID__MTAThreadAttribute> _MTAThreadAttributePtr;
interface DECLSPEC_UUID("{401F89CB-C127-3041-82FD-B67035395C56}") _ArrayList;
typedef TComInterface<_ArrayList, &IID__ArrayList> _ArrayListPtr;
interface DECLSPEC_UUID("{F145C46A-D170-3170-B52F-4678DFCA0300}") _BitArray;
typedef TComInterface<_BitArray, &IID__BitArray> _BitArrayPtr;
interface DECLSPEC_UUID("{EA6795AC-97D6-3377-BE64-829ABD67607B}") _CaseInsensitiveComparer;
typedef TComInterface<_CaseInsensitiveComparer, &IID__CaseInsensitiveComparer> _CaseInsensitiveComparerPtr;
interface DECLSPEC_UUID("{5D573036-3435-3C5A-AEFF-2B8191082C71}") IHashCodeProvider;
typedef TComInterface<IHashCodeProvider, &IID_IHashCodeProvider> IHashCodeProviderPtr;
interface DECLSPEC_UUID("{0422B845-B636-3688-8F61-9B6D93096336}") _CaseInsensitiveHashCodeProvider;
typedef TComInterface<_CaseInsensitiveHashCodeProvider, &IID__CaseInsensitiveHashCodeProvider> _CaseInsensitiveHashCodeProviderPtr;
interface DECLSPEC_UUID("{B7D29E26-7798-3FA4-90F4-E6A22D2099F9}") _CollectionBase;
typedef TComInterface<_CollectionBase, &IID__CollectionBase> _CollectionBasePtr;
interface DECLSPEC_UUID("{8064A157-B5C8-3A4A-AD3D-02DC1A39C417}") _Comparer;
typedef TComInterface<_Comparer, &IID__Comparer> _ComparerPtr;
interface DECLSPEC_UUID("{6A6841DF-3287-3D87-8060-CE0B4C77D2A1}") IDictionary;
typedef TComInterface<IDictionary, &IID_IDictionary> IDictionaryPtr;
interface DECLSPEC_UUID("{DDD44DA2-BC6B-3620-9317-C0372968C741}") _DictionaryBase;
typedef TComInterface<_DictionaryBase, &IID__DictionaryBase> _DictionaryBasePtr;
interface DECLSPEC_UUID("{35D574BF-7A4F-3588-8C19-12212A0FE4DC}") IDictionaryEnumerator;
typedef TComInterface<IDictionaryEnumerator, &IID_IDictionaryEnumerator> IDictionaryEnumeratorPtr;
interface DECLSPEC_UUID("{AB3F47E4-C227-3B05-BF9F-94649BEF9888}") IDeserializationCallback;
typedef TComInterface<IDeserializationCallback, &IID_IDeserializationCallback> IDeserializationCallbackPtr;
interface DECLSPEC_UUID("{D25A197E-3E69-3271-A989-23D85E97F920}") _Hashtable;
typedef TComInterface<_Hashtable, &IID__Hashtable> _HashtablePtr;
interface DECLSPEC_UUID("{3A7D3CA4-B7D1-3A2A-800C-8FC2ACFCBDA4}") _Queue;
typedef TComInterface<_Queue, &IID__Queue> _QueuePtr;
interface DECLSPEC_UUID("{BD32D878-A59B-3E5C-BFE0-A96B1A1E9D6F}") _ReadOnlyCollectionBase;
typedef TComInterface<_ReadOnlyCollectionBase, &IID__ReadOnlyCollectionBase> _ReadOnlyCollectionBasePtr;
interface DECLSPEC_UUID("{56421139-A143-3AE9-9852-1DBDFE3D6BFA}") _SortedList;
typedef TComInterface<_SortedList, &IID__SortedList> _SortedListPtr;
interface DECLSPEC_UUID("{AB538809-3C2F-35D9-80E6-7BAD540484A1}") _Stack;
typedef TComInterface<_Stack, &IID__Stack> _StackPtr;
interface DECLSPEC_UUID("{84E7AC09-795A-3EA9-A36A-5B81EBAB0558}") _Nullable;
typedef TComInterface<_Nullable, &IID__Nullable> _NullablePtr;
interface DECLSPEC_UUID("{8039C41F-4399-38A2-99B7-D234B5CF7A7B}") _KeyNotFoundException;
typedef TComInterface<_KeyNotFoundException, &IID__KeyNotFoundException> _KeyNotFoundExceptionPtr;
interface DECLSPEC_UUID("{E40A025C-645B-3C8E-A1AC-9C5CCA279625}") _ConditionalAttribute;
typedef TComInterface<_ConditionalAttribute, &IID__ConditionalAttribute> _ConditionalAttributePtr;
interface DECLSPEC_UUID("{A9B4786C-08E3-344F-A651-2F9926DEAC5E}") _Debugger;
typedef TComInterface<_Debugger, &IID__Debugger> _DebuggerPtr;
interface DECLSPEC_UUID("{3344E8B4-A5C3-3882-8D30-63792485ECCF}") _DebuggerStepThroughAttribute;
typedef TComInterface<_DebuggerStepThroughAttribute, &IID__DebuggerStepThroughAttribute> _DebuggerStepThroughAttributePtr;
interface DECLSPEC_UUID("{B3276180-B23E-3034-B18F-E0122BA4E4CF}") _DebuggerStepperBoundaryAttribute;
typedef TComInterface<_DebuggerStepperBoundaryAttribute, &IID__DebuggerStepperBoundaryAttribute> _DebuggerStepperBoundaryAttributePtr;
interface DECLSPEC_UUID("{55B6903B-55FE-35E0-804F-E42A096D2EB0}") _DebuggerHiddenAttribute;
typedef TComInterface<_DebuggerHiddenAttribute, &IID__DebuggerHiddenAttribute> _DebuggerHiddenAttributePtr;
interface DECLSPEC_UUID("{CC6DCAFD-0185-308A-891C-83812FE574E7}") _DebuggerNonUserCodeAttribute;
typedef TComInterface<_DebuggerNonUserCodeAttribute, &IID__DebuggerNonUserCodeAttribute> _DebuggerNonUserCodeAttributePtr;
interface DECLSPEC_UUID("{428E3627-2B1F-302C-A7E6-6388CD535E75}") _DebuggableAttribute;
typedef TComInterface<_DebuggableAttribute, &IID__DebuggableAttribute> _DebuggableAttributePtr;
interface DECLSPEC_UUID("{A3FC6319-7355-3D7D-8621-B598561152FC}") _DebuggerBrowsableAttribute;
typedef TComInterface<_DebuggerBrowsableAttribute, &IID__DebuggerBrowsableAttribute> _DebuggerBrowsableAttributePtr;
interface DECLSPEC_UUID("{404FAFDD-1E3F-3602-BFF6-755C00613ED8}") _DebuggerTypeProxyAttribute;
typedef TComInterface<_DebuggerTypeProxyAttribute, &IID__DebuggerTypeProxyAttribute> _DebuggerTypeProxyAttributePtr;
interface DECLSPEC_UUID("{22FDABC0-EEC7-33E0-B4F2-F3B739E19A5E}") _DebuggerDisplayAttribute;
typedef TComInterface<_DebuggerDisplayAttribute, &IID__DebuggerDisplayAttribute> _DebuggerDisplayAttributePtr;
interface DECLSPEC_UUID("{E19EA1A2-67FF-31A5-B95C-E0B753403F6B}") _DebuggerVisualizerAttribute;
typedef TComInterface<_DebuggerVisualizerAttribute, &IID__DebuggerVisualizerAttribute> _DebuggerVisualizerAttributePtr;
interface DECLSPEC_UUID("{9A2669EC-FF84-3726-89A0-663A3EF3B5CD}") _StackTrace;
typedef TComInterface<_StackTrace, &IID__StackTrace> _StackTracePtr;
interface DECLSPEC_UUID("{0E9B8E47-CA67-38B6-B9DB-2C42EE757B08}") _StackFrame;
typedef TComInterface<_StackFrame, &IID__StackFrame> _StackFramePtr;
interface DECLSPEC_UUID("{20808ADC-CC01-3F3A-8F09-ED12940FC212}") ISymbolBinder;
typedef TComInterface<ISymbolBinder, &IID_ISymbolBinder> ISymbolBinderPtr;
interface DECLSPEC_UUID("{027C036A-4052-3821-85DE-B53319DF1211}") ISymbolBinder1;
typedef TComInterface<ISymbolBinder1, &IID_ISymbolBinder1> ISymbolBinder1Ptr;
interface DECLSPEC_UUID("{1C32F012-2684-3EFE-8D50-9C2973ACC00B}") ISymbolDocument;
typedef TComInterface<ISymbolDocument, &IID_ISymbolDocument> ISymbolDocumentPtr;
interface DECLSPEC_UUID("{FA682F24-3A3C-390D-B8A2-96F1106F4B37}") ISymbolDocumentWriter;
typedef TComInterface<ISymbolDocumentWriter, &IID_ISymbolDocumentWriter> ISymbolDocumentWriterPtr;
interface DECLSPEC_UUID("{25C72EB0-E437-3F17-946D-3B72A3ACFF37}") ISymbolMethod;
typedef TComInterface<ISymbolMethod, &IID_ISymbolMethod> ISymbolMethodPtr;
interface DECLSPEC_UUID("{23ED2454-6899-3C28-BAB7-6EC86683964A}") ISymbolNamespace;
typedef TComInterface<ISymbolNamespace, &IID_ISymbolNamespace> ISymbolNamespacePtr;
interface DECLSPEC_UUID("{E809A5F1-D3D7-3144-9BEF-FE8AC0364699}") ISymbolReader;
typedef TComInterface<ISymbolReader, &IID_ISymbolReader> ISymbolReaderPtr;
interface DECLSPEC_UUID("{1CEE3A11-01AE-3244-A939-4972FC9703EF}") ISymbolScope;
typedef TComInterface<ISymbolScope, &IID_ISymbolScope> ISymbolScopePtr;
interface DECLSPEC_UUID("{4042BD4D-B5AB-30E8-919B-14910687BAAE}") ISymbolVariable;
typedef TComInterface<ISymbolVariable, &IID_ISymbolVariable> ISymbolVariablePtr;
interface DECLSPEC_UUID("{DA295A1B-C5BD-3B34-8ACD-1D7D334FFB7F}") ISymbolWriter;
typedef TComInterface<ISymbolWriter, &IID_ISymbolWriter> ISymbolWriterPtr;
interface DECLSPEC_UUID("{5141D79C-7B01-37DA-B7E9-53E5A271BAF8}") _SymDocumentType;
typedef TComInterface<_SymDocumentType, &IID__SymDocumentType> _SymDocumentTypePtr;
interface DECLSPEC_UUID("{22BB8891-FD21-313D-92E4-8A892DC0B39C}") _SymLanguageType;
typedef TComInterface<_SymLanguageType, &IID__SymLanguageType> _SymLanguageTypePtr;
interface DECLSPEC_UUID("{01364E7B-C983-3651-B7D8-FD1B64FC0E00}") _SymLanguageVendor;
typedef TComInterface<_SymLanguageVendor, &IID__SymLanguageVendor> _SymLanguageVendorPtr;
interface DECLSPEC_UUID("{81AA0D59-C3B1-36A3-B2E7-054928FBFC1A}") _AmbiguousMatchException;
typedef TComInterface<_AmbiguousMatchException, &IID__AmbiguousMatchException> _AmbiguousMatchExceptionPtr;
interface DECLSPEC_UUID("{05532E88-E0F2-3263-9B57-805AC6B6BB72}") _ModuleResolveEventHandler;
typedef TComInterface<_ModuleResolveEventHandler, &IID__ModuleResolveEventHandler> _ModuleResolveEventHandlerPtr;
interface DECLSPEC_UUID("{17156360-2F1A-384A-BC52-FDE93C215C5B}") _Assembly;
typedef TComInterface<_Assembly, &IID__Assembly> _AssemblyPtr;
interface DECLSPEC_UUID("{6163F792-3CD6-38F1-B5F7-000B96A5082B}") _AssemblyCopyrightAttribute;
typedef TComInterface<_AssemblyCopyrightAttribute, &IID__AssemblyCopyrightAttribute> _AssemblyCopyrightAttributePtr;
interface DECLSPEC_UUID("{64C26BF9-C9E5-3F66-AD74-BEBAADE36214}") _AssemblyTrademarkAttribute;
typedef TComInterface<_AssemblyTrademarkAttribute, &IID__AssemblyTrademarkAttribute> _AssemblyTrademarkAttributePtr;
interface DECLSPEC_UUID("{DE10D587-A188-3DCB-8000-92DFDB9B8021}") _AssemblyProductAttribute;
typedef TComInterface<_AssemblyProductAttribute, &IID__AssemblyProductAttribute> _AssemblyProductAttributePtr;
interface DECLSPEC_UUID("{C6802233-EF82-3C91-AD72-B3A5D7230ED5}") _AssemblyCompanyAttribute;
typedef TComInterface<_AssemblyCompanyAttribute, &IID__AssemblyCompanyAttribute> _AssemblyCompanyAttributePtr;
interface DECLSPEC_UUID("{6B2C0BC4-DDB7-38EA-8A86-F0B59E192816}") _AssemblyDescriptionAttribute;
typedef TComInterface<_AssemblyDescriptionAttribute, &IID__AssemblyDescriptionAttribute> _AssemblyDescriptionAttributePtr;
interface DECLSPEC_UUID("{DF44CAD3-CEF2-36A9-B013-383CC03177D7}") _AssemblyTitleAttribute;
typedef TComInterface<_AssemblyTitleAttribute, &IID__AssemblyTitleAttribute> _AssemblyTitleAttributePtr;
interface DECLSPEC_UUID("{746D1D1E-EE37-393B-B6FA-E387D37553AA}") _AssemblyConfigurationAttribute;
typedef TComInterface<_AssemblyConfigurationAttribute, &IID__AssemblyConfigurationAttribute> _AssemblyConfigurationAttributePtr;
interface DECLSPEC_UUID("{04311D35-75EC-347B-BEDF-969487CE4014}") _AssemblyDefaultAliasAttribute;
typedef TComInterface<_AssemblyDefaultAliasAttribute, &IID__AssemblyDefaultAliasAttribute> _AssemblyDefaultAliasAttributePtr;
interface DECLSPEC_UUID("{C6F5946C-143A-3747-A7C0-ABFADA6BDEB7}") _AssemblyInformationalVersionAttribute;
typedef TComInterface<_AssemblyInformationalVersionAttribute, &IID__AssemblyInformationalVersionAttribute> _AssemblyInformationalVersionAttributePtr;
interface DECLSPEC_UUID("{B101FE3C-4479-311A-A945-1225EE1731E8}") _AssemblyFileVersionAttribute;
typedef TComInterface<_AssemblyFileVersionAttribute, &IID__AssemblyFileVersionAttribute> _AssemblyFileVersionAttributePtr;
interface DECLSPEC_UUID("{177C4E63-9E0B-354D-838B-B52AA8683EF6}") _AssemblyCultureAttribute;
typedef TComInterface<_AssemblyCultureAttribute, &IID__AssemblyCultureAttribute> _AssemblyCultureAttributePtr;
interface DECLSPEC_UUID("{A1693C5C-101F-3557-94DB-C480CEB4C16B}") _AssemblyVersionAttribute;
typedef TComInterface<_AssemblyVersionAttribute, &IID__AssemblyVersionAttribute> _AssemblyVersionAttributePtr;
interface DECLSPEC_UUID("{A9FCDA18-C237-3C6F-A6EF-749BE22BA2BF}") _AssemblyKeyFileAttribute;
typedef TComInterface<_AssemblyKeyFileAttribute, &IID__AssemblyKeyFileAttribute> _AssemblyKeyFileAttributePtr;
interface DECLSPEC_UUID("{6CF1C077-C974-38E1-90A4-976E4835E165}") _AssemblyDelaySignAttribute;
typedef TComInterface<_AssemblyDelaySignAttribute, &IID__AssemblyDelaySignAttribute> _AssemblyDelaySignAttributePtr;
interface DECLSPEC_UUID("{57B849AA-D8EF-3EA6-9538-C5B4D498C2F7}") _AssemblyAlgorithmIdAttribute;
typedef TComInterface<_AssemblyAlgorithmIdAttribute, &IID__AssemblyAlgorithmIdAttribute> _AssemblyAlgorithmIdAttributePtr;
interface DECLSPEC_UUID("{0ECD8635-F5EB-3E4A-8989-4D684D67C48A}") _AssemblyFlagsAttribute;
typedef TComInterface<_AssemblyFlagsAttribute, &IID__AssemblyFlagsAttribute> _AssemblyFlagsAttributePtr;
interface DECLSPEC_UUID("{322A304D-11AC-3814-A905-A019F6E3DAE9}") _AssemblyKeyNameAttribute;
typedef TComInterface<_AssemblyKeyNameAttribute, &IID__AssemblyKeyNameAttribute> _AssemblyKeyNameAttributePtr;
interface DECLSPEC_UUID("{B42B6AAC-317E-34D5-9FA9-093BB4160C50}") _AssemblyName;
typedef TComInterface<_AssemblyName, &IID__AssemblyName> _AssemblyNamePtr;
interface DECLSPEC_UUID("{FE52F19A-8AA8-309C-BF99-9D0A566FB76A}") _AssemblyNameProxy;
typedef TComInterface<_AssemblyNameProxy, &IID__AssemblyNameProxy> _AssemblyNameProxyPtr;
interface DECLSPEC_UUID("{1660EB67-EE41-363E-BEB0-C2DE09214ABF}") _CustomAttributeFormatException;
typedef TComInterface<_CustomAttributeFormatException, &IID__CustomAttributeFormatException> _CustomAttributeFormatExceptionPtr;
interface DECLSPEC_UUID("{6240837A-707F-3181-8E98-A36AE086766B}") _MethodBase;
typedef TComInterface<_MethodBase, &IID__MethodBase> _MethodBasePtr;
interface DECLSPEC_UUID("{FFCC1B5D-ECB8-38DD-9B01-3DC8ABC2AA5F}") _MethodInfo;
typedef TComInterface<_MethodInfo, &IID__MethodInfo> _MethodInfoPtr;
interface DECLSPEC_UUID("{E9A19478-9646-3679-9B10-8411AE1FD57D}") _ConstructorInfo;
typedef TComInterface<_ConstructorInfo, &IID__ConstructorInfo> _ConstructorInfoPtr;
interface DECLSPEC_UUID("{8A7C1442-A9FB-366B-80D8-4939FFA6DBE0}") _FieldInfo;
typedef TComInterface<_FieldInfo, &IID__FieldInfo> _FieldInfoPtr;
interface DECLSPEC_UUID("{F59ED4E4-E68F-3218-BD77-061AA82824BF}") _PropertyInfo;
typedef TComInterface<_PropertyInfo, &IID__PropertyInfo> _PropertyInfoPtr;
interface DECLSPEC_UUID("{9DE59C64-D889-35A1-B897-587D74469E5B}") _EventInfo;
typedef TComInterface<_EventInfo, &IID__EventInfo> _EventInfoPtr;
interface DECLSPEC_UUID("{993634C4-E47A-32CC-BE08-85F567DC27D6}") _ParameterInfo;
typedef TComInterface<_ParameterInfo, &IID__ParameterInfo> _ParameterInfoPtr;
interface DECLSPEC_UUID("{D002E9BA-D9E3-3749-B1D3-D565A08B13E7}") _Module;
typedef TComInterface<_Module, &IID__Module> _ModulePtr;
interface DECLSPEC_UUID("{F4E5539D-0A65-3073-BF27-8DCE8EF1DEF1}") _CustomAttributeData;
typedef TComInterface<_CustomAttributeData, &IID__CustomAttributeData> _CustomAttributeDataPtr;
interface DECLSPEC_UUID("{C462B072-FE6E-3BDC-9FAB-4CDBFCBCD124}") _DefaultMemberAttribute;
typedef TComInterface<_DefaultMemberAttribute, &IID__DefaultMemberAttribute> _DefaultMemberAttributePtr;
interface DECLSPEC_UUID("{E6DF0AE7-BA15-3F80-8AFA-27773AE414FC}") _InvalidFilterCriteriaException;
typedef TComInterface<_InvalidFilterCriteriaException, &IID__InvalidFilterCriteriaException> _InvalidFilterCriteriaExceptionPtr;
interface DECLSPEC_UUID("{3188878C-DEB3-3558-80E8-84E9ED95F92C}") _ManifestResourceInfo;
typedef TComInterface<_ManifestResourceInfo, &IID__ManifestResourceInfo> _ManifestResourceInfoPtr;
interface DECLSPEC_UUID("{FAE5D9B7-40C1-3DE1-BE06-A91C9DA1BA9F}") _MemberFilter;
typedef TComInterface<_MemberFilter, &IID__MemberFilter> _MemberFilterPtr;
interface DECLSPEC_UUID("{0C48F55D-5240-30C7-A8F1-AF87A640CEFE}") _Missing;
typedef TComInterface<_Missing, &IID__Missing> _MissingPtr;
interface DECLSPEC_UUID("{8A5F0DA2-7B43-3767-B623-2424CF7CD268}") _ObfuscateAssemblyAttribute;
typedef TComInterface<_ObfuscateAssemblyAttribute, &IID__ObfuscateAssemblyAttribute> _ObfuscateAssemblyAttributePtr;
interface DECLSPEC_UUID("{71FB8DCF-3FA7-3483-8464-9D8200E57C43}") _ObfuscationAttribute;
typedef TComInterface<_ObfuscationAttribute, &IID__ObfuscationAttribute> _ObfuscationAttributePtr;
interface DECLSPEC_UUID("{643A4016-1B16-3CCF-AE86-9C2D9135ECB0}") _ExceptionHandlingClause;
typedef TComInterface<_ExceptionHandlingClause, &IID__ExceptionHandlingClause> _ExceptionHandlingClausePtr;
interface DECLSPEC_UUID("{B072EFE2-C943-3977-BFD9-91D5232B0D53}") _MethodBody;
typedef TComInterface<_MethodBody, &IID__MethodBody> _MethodBodyPtr;
interface DECLSPEC_UUID("{F2ECD8CA-91A2-31E8-B808-E028B4F5CA67}") _LocalVariableInfo;
typedef TComInterface<_LocalVariableInfo, &IID__LocalVariableInfo> _LocalVariableInfoPtr;
interface DECLSPEC_UUID("{F0DEAFE9-5EBA-3737-9950-C1795739CDCD}") _Pointer;
typedef TComInterface<_Pointer, &IID__Pointer> _PointerPtr;
interface DECLSPEC_UUID("{22C26A41-5FA3-34E3-A76F-BA480252D8EC}") _ReflectionTypeLoadException;
typedef TComInterface<_ReflectionTypeLoadException, &IID__ReflectionTypeLoadException> _ReflectionTypeLoadExceptionPtr;
interface DECLSPEC_UUID("{FC4963CB-E52B-32D8-A418-D058FA51A1FA}") _StrongNameKeyPair;
typedef TComInterface<_StrongNameKeyPair, &IID__StrongNameKeyPair> _StrongNameKeyPairPtr;
interface DECLSPEC_UUID("{98B1524D-DA12-3C4B-8A69-7539A6DEC4FA}") _TargetException;
typedef TComInterface<_TargetException, &IID__TargetException> _TargetExceptionPtr;
interface DECLSPEC_UUID("{A90106ED-9099-3329-8A5A-2044B3D8552B}") _TargetInvocationException;
typedef TComInterface<_TargetInvocationException, &IID__TargetInvocationException> _TargetInvocationExceptionPtr;
interface DECLSPEC_UUID("{6032B3CD-9BED-351C-A145-9D500B0F636F}") _TargetParameterCountException;
typedef TComInterface<_TargetParameterCountException, &IID__TargetParameterCountException> _TargetParameterCountExceptionPtr;
interface DECLSPEC_UUID("{34E00EF9-83E2-3BBC-B6AF-4CAE703838BD}") _TypeDelegator;
typedef TComInterface<_TypeDelegator, &IID__TypeDelegator> _TypeDelegatorPtr;
interface DECLSPEC_UUID("{E1817846-3745-3C97-B4A6-EE20A1641B29}") _TypeFilter;
typedef TComInterface<_TypeFilter, &IID__TypeFilter> _TypeFilterPtr;
interface DECLSPEC_UUID("{93D7A8C5-D2EB-319B-A374-A65D321F2AA9}") IFormatter;
typedef TComInterface<IFormatter, &IID_IFormatter> IFormatterPtr;
interface DECLSPEC_UUID("{D9BD3C8D-9395-3657-B6EE-D1B509C38B70}") _Formatter;
typedef TComInterface<_Formatter, &IID__Formatter> _FormatterPtr;
interface DECLSPEC_UUID("{F4F5C303-FAD3-3D0C-A4DF-BB82B5EE308F}") IFormatterConverter;
typedef TComInterface<IFormatterConverter, &IID_IFormatterConverter> IFormatterConverterPtr;
interface DECLSPEC_UUID("{3FAA35EE-C867-3E2E-BF48-2DA271F88303}") _FormatterConverter;
typedef TComInterface<_FormatterConverter, &IID__FormatterConverter> _FormatterConverterPtr;
interface DECLSPEC_UUID("{F859954A-78CF-3D00-86AB-EF661E6A4B8D}") _FormatterServices;
typedef TComInterface<_FormatterServices, &IID__FormatterServices> _FormatterServicesPtr;
interface DECLSPEC_UUID("{62339172-DBFA-337B-8AC8-053B241E06AB}") ISerializationSurrogate;
typedef TComInterface<ISerializationSurrogate, &IID_ISerializationSurrogate> ISerializationSurrogatePtr;
interface DECLSPEC_UUID("{7C66FF18-A1A5-3E19-857B-0E7B6A9E3F38}") ISurrogateSelector;
typedef TComInterface<ISurrogateSelector, &IID_ISurrogateSelector> ISurrogateSelectorPtr;
interface DECLSPEC_UUID("{A30646CC-F710-3BFA-A356-B4C858D4ED8E}") _ObjectIDGenerator;
typedef TComInterface<_ObjectIDGenerator, &IID__ObjectIDGenerator> _ObjectIDGeneratorPtr;
interface DECLSPEC_UUID("{F28E7D04-3319-3968-8201-C6E55BECD3D4}") _ObjectManager;
typedef TComInterface<_ObjectManager, &IID__ObjectManager> _ObjectManagerPtr;
interface DECLSPEC_UUID("{FECA70D4-AE27-3D94-93DD-A90F02E299D5}") _OptionalFieldAttribute;
typedef TComInterface<_OptionalFieldAttribute, &IID__OptionalFieldAttribute> _OptionalFieldAttributePtr;
interface DECLSPEC_UUID("{9EC28D2C-04C0-35F3-A7EE-0013271FF65E}") _OnSerializingAttribute;
typedef TComInterface<_OnSerializingAttribute, &IID__OnSerializingAttribute> _OnSerializingAttributePtr;
interface DECLSPEC_UUID("{547BF8CD-F2A8-3B41-966D-98DB33DED06D}") _OnSerializedAttribute;
typedef TComInterface<_OnSerializedAttribute, &IID__OnSerializedAttribute> _OnSerializedAttributePtr;
interface DECLSPEC_UUID("{F5AEF88F-9AC4-320C-95D2-88E863A35762}") _OnDeserializingAttribute;
typedef TComInterface<_OnDeserializingAttribute, &IID__OnDeserializingAttribute> _OnDeserializingAttributePtr;
interface DECLSPEC_UUID("{DD36C803-73D1-338D-88BA-DC9EB7620EF7}") _OnDeserializedAttribute;
typedef TComInterface<_OnDeserializedAttribute, &IID__OnDeserializedAttribute> _OnDeserializedAttributePtr;
interface DECLSPEC_UUID("{450222D0-87CA-3699-A7B4-D8A0FDB72357}") _SerializationBinder;
typedef TComInterface<_SerializationBinder, &IID__SerializationBinder> _SerializationBinderPtr;
interface DECLSPEC_UUID("{B58D62CF-B03A-3A14-B0B6-B1E5AD4E4AD5}") _SerializationInfo;
typedef TComInterface<_SerializationInfo, &IID__SerializationInfo> _SerializationInfoPtr;
interface DECLSPEC_UUID("{607056C6-1BCA-36C8-AB87-33B202EBF0D8}") _SerializationInfoEnumerator;
typedef TComInterface<_SerializationInfoEnumerator, &IID__SerializationInfoEnumerator> _SerializationInfoEnumeratorPtr;
interface DECLSPEC_UUID("{245FE7FD-E020-3053-B5F6-7467FD2C6883}") _SerializationException;
typedef TComInterface<_SerializationException, &IID__SerializationException> _SerializationExceptionPtr;
interface DECLSPEC_UUID("{6DE1230E-1F52-3779-9619-F5184103466C}") _SurrogateSelector;
typedef TComInterface<_SurrogateSelector, &IID__SurrogateSelector> _SurrogateSelectorPtr;
interface DECLSPEC_UUID("{4CCA29E4-584B-3CD0-AD25-855DC5799C16}") _Calendar;
typedef TComInterface<_Calendar, &IID__Calendar> _CalendarPtr;
interface DECLSPEC_UUID("{89E148C4-2424-30AE-80F5-C5D21EA3366C}") _EastAsianLunisolarCalendar;
typedef TComInterface<_EastAsianLunisolarCalendar, &IID__EastAsianLunisolarCalendar> _EastAsianLunisolarCalendarPtr;
interface DECLSPEC_UUID("{505DEFE5-AEFA-3E23-82B0-D5EB085BB840}") _CompareInfo;
typedef TComInterface<_CompareInfo, &IID__CompareInfo> _CompareInfoPtr;
interface DECLSPEC_UUID("{152722C2-F0B1-3D19-ADA8-F40CA5CAECB8}") _CultureInfo;
typedef TComInterface<_CultureInfo, &IID__CultureInfo> _CultureInfoPtr;
interface DECLSPEC_UUID("{015E9F67-337C-398A-A0C1-DA4AF1905571}") _DateTimeFormatInfo;
typedef TComInterface<_DateTimeFormatInfo, &IID__DateTimeFormatInfo> _DateTimeFormatInfoPtr;
interface DECLSPEC_UUID("{EFEA8FEB-EE7F-3E48-8A36-6206A6ACBF73}") _DaylightTime;
typedef TComInterface<_DaylightTime, &IID__DaylightTime> _DaylightTimePtr;
interface DECLSPEC_UUID("{677AD8B5-8A0E-3C39-92FB-72FB817CF694}") _GregorianCalendar;
typedef TComInterface<_GregorianCalendar, &IID__GregorianCalendar> _GregorianCalendarPtr;
interface DECLSPEC_UUID("{96A62D6C-72A9-387A-81FA-E6DD5998CAEE}") _HebrewCalendar;
typedef TComInterface<_HebrewCalendar, &IID__HebrewCalendar> _HebrewCalendarPtr;
interface DECLSPEC_UUID("{28DDC187-56B2-34CF-A078-48BD1E113D1E}") _HijriCalendar;
typedef TComInterface<_HijriCalendar, &IID__HijriCalendar> _HijriCalendarPtr;
interface DECLSPEC_UUID("{D662AE3F-CEF9-38B4-BB8E-5D8DD1DBF806}") _JapaneseCalendar;
typedef TComInterface<_JapaneseCalendar, &IID__JapaneseCalendar> _JapaneseCalendarPtr;
interface DECLSPEC_UUID("{36E2DE92-1FB3-3D7D-BA26-9CAD5B98DD52}") _JulianCalendar;
typedef TComInterface<_JulianCalendar, &IID__JulianCalendar> _JulianCalendarPtr;
interface DECLSPEC_UUID("{48BEA6C4-752E-3974-8CA8-CFB6274E2379}") _KoreanCalendar;
typedef TComInterface<_KoreanCalendar, &IID__KoreanCalendar> _KoreanCalendarPtr;
interface DECLSPEC_UUID("{F9E97E04-4E1E-368F-B6C6-5E96CE4362D6}") _RegionInfo;
typedef TComInterface<_RegionInfo, &IID__RegionInfo> _RegionInfoPtr;
interface DECLSPEC_UUID("{F4C70E15-2CA6-3E90-96ED-92E28491F538}") _SortKey;
typedef TComInterface<_SortKey, &IID__SortKey> _SortKeyPtr;
interface DECLSPEC_UUID("{0A25141F-51B3-3121-AA30-0AF4556A52D9}") _StringInfo;
typedef TComInterface<_StringInfo, &IID__StringInfo> _StringInfoPtr;
interface DECLSPEC_UUID("{0C08ED74-0ACF-32A9-99DF-09A9DC4786DD}") _TaiwanCalendar;
typedef TComInterface<_TaiwanCalendar, &IID__TaiwanCalendar> _TaiwanCalendarPtr;
interface DECLSPEC_UUID("{8C248251-3E6C-3151-9F8E-A255FB8D2B12}") _TextElementEnumerator;
typedef TComInterface<_TextElementEnumerator, &IID__TextElementEnumerator> _TextElementEnumeratorPtr;
interface DECLSPEC_UUID("{DB8DE23F-F264-39AC-B61C-CC1E7EB4A5E6}") _TextInfo;
typedef TComInterface<_TextInfo, &IID__TextInfo> _TextInfoPtr;
interface DECLSPEC_UUID("{C70C8AE8-925B-37CE-8944-34F15FF94307}") _ThaiBuddhistCalendar;
typedef TComInterface<_ThaiBuddhistCalendar, &IID__ThaiBuddhistCalendar> _ThaiBuddhistCalendarPtr;
interface DECLSPEC_UUID("{25E47D71-20DD-31BE-B261-7AE76497D6B9}") _NumberFormatInfo;
typedef TComInterface<_NumberFormatInfo, &IID__NumberFormatInfo> _NumberFormatInfoPtr;
interface DECLSPEC_UUID("{DDEDB94D-4F3F-35C1-97C9-3F1D87628D9E}") _Encoding;
typedef TComInterface<_Encoding, &IID__Encoding> _EncodingPtr;
interface DECLSPEC_UUID("{8FD56502-8724-3DF0-A1B5-9D0E8D4E4F78}") _Encoder;
typedef TComInterface<_Encoder, &IID__Encoder> _EncoderPtr;
interface DECLSPEC_UUID("{2ADB0D4A-5976-38E4-852B-C131797430F5}") _Decoder;
typedef TComInterface<_Decoder, &IID__Decoder> _DecoderPtr;
interface DECLSPEC_UUID("{0CBE0204-12A1-3D40-9D9E-195DE6AAA534}") _ASCIIEncoding;
typedef TComInterface<_ASCIIEncoding, &IID__ASCIIEncoding> _ASCIIEncodingPtr;
interface DECLSPEC_UUID("{F7DD3B7F-2B05-3894-8EDA-59CDF9395B6A}") _UnicodeEncoding;
typedef TComInterface<_UnicodeEncoding, &IID__UnicodeEncoding> _UnicodeEncodingPtr;
interface DECLSPEC_UUID("{89B9F00B-AA2A-3A49-91B4-E8D1F1C00E58}") _UTF7Encoding;
typedef TComInterface<_UTF7Encoding, &IID__UTF7Encoding> _UTF7EncodingPtr;
interface DECLSPEC_UUID("{010FC1D0-3EF9-3F3B-AA0A-B78A1FF83A37}") _UTF8Encoding;
typedef TComInterface<_UTF8Encoding, &IID__UTF8Encoding> _UTF8EncodingPtr;
interface DECLSPEC_UUID("{8965A22F-FBA8-36AD-8132-70BBD0DA457D}") IResourceReader;
typedef TComInterface<IResourceReader, &IID_IResourceReader> IResourceReaderPtr;
interface DECLSPEC_UUID("{E97AA6E5-595E-31C3-82F0-688FB91954C6}") IResourceWriter;
typedef TComInterface<IResourceWriter, &IID_IResourceWriter> IResourceWriterPtr;
interface DECLSPEC_UUID("{1A4E1878-FE8C-3F59-B6A9-21AB82BE57E9}") _MissingManifestResourceException;
typedef TComInterface<_MissingManifestResourceException, &IID__MissingManifestResourceException> _MissingManifestResourceExceptionPtr;
interface DECLSPEC_UUID("{5A8DE087-D9D7-3BBA-92B4-FE1034A1242F}") _MissingSatelliteAssemblyException;
typedef TComInterface<_MissingSatelliteAssemblyException, &IID__MissingSatelliteAssemblyException> _MissingSatelliteAssemblyExceptionPtr;
interface DECLSPEC_UUID("{F48DF808-8B7D-3F4E-9159-1DFD60F298D6}") _NeutralResourcesLanguageAttribute;
typedef TComInterface<_NeutralResourcesLanguageAttribute, &IID__NeutralResourcesLanguageAttribute> _NeutralResourcesLanguageAttributePtr;
interface DECLSPEC_UUID("{4DE671B7-7C85-37E9-AFF8-1222ABE4883E}") _ResourceManager;
typedef TComInterface<_ResourceManager, &IID__ResourceManager> _ResourceManagerPtr;
interface DECLSPEC_UUID("{7FBCFDC7-5CEC-3945-8095-DAED61BE5FB1}") _ResourceReader;
typedef TComInterface<_ResourceReader, &IID__ResourceReader> _ResourceReaderPtr;
interface DECLSPEC_UUID("{44D5F81A-727C-35AE-8DF8-9FF6722F1C6C}") _ResourceSet;
typedef TComInterface<_ResourceSet, &IID__ResourceSet> _ResourceSetPtr;
interface DECLSPEC_UUID("{AF170258-AAC6-3A86-BD34-303E62CED10E}") _ResourceWriter;
typedef TComInterface<_ResourceWriter, &IID__ResourceWriter> _ResourceWriterPtr;
interface DECLSPEC_UUID("{5CBB1F47-FBA5-33B9-9D4A-57D6E3D133D2}") _SatelliteContractVersionAttribute;
typedef TComInterface<_SatelliteContractVersionAttribute, &IID__SatelliteContractVersionAttribute> _SatelliteContractVersionAttributePtr;
interface DECLSPEC_UUID("{23BAE0C0-3A36-32F0-9DAD-0E95ADD67D23}") _Registry;
typedef TComInterface<_Registry, &IID__Registry> _RegistryPtr;
interface DECLSPEC_UUID("{2EAC6733-8D92-31D9-BE04-DC467EFC3EB1}") _RegistryKey;
typedef TComInterface<_RegistryKey, &IID__RegistryKey> _RegistryKeyPtr;
interface DECLSPEC_UUID("{FD46BDE5-ACDF-3CA5-B189-F0678387077F}") ISecurityEncodable;
typedef TComInterface<ISecurityEncodable, &IID_ISecurityEncodable> ISecurityEncodablePtr;
interface DECLSPEC_UUID("{E6C21BA7-21BB-34E9-8E57-DB66D8CE4A70}") ISecurityPolicyEncodable;
typedef TComInterface<ISecurityPolicyEncodable, &IID_ISecurityPolicyEncodable> ISecurityPolicyEncodablePtr;
interface DECLSPEC_UUID("{6844EFF4-4F86-3CA1-A1EA-AAF583A6395E}") IMembershipCondition;
typedef TComInterface<IMembershipCondition, &IID_IMembershipCondition> IMembershipConditionPtr;
interface DECLSPEC_UUID("{99F01720-3CC2-366D-9AB9-50E36647617F}") _AllMembershipCondition;
typedef TComInterface<_AllMembershipCondition, &IID__AllMembershipCondition> _AllMembershipConditionPtr;
interface DECLSPEC_UUID("{9CCC831B-1BA7-34BE-A966-56D5A6DB5AAD}") _ApplicationDirectory;
typedef TComInterface<_ApplicationDirectory, &IID__ApplicationDirectory> _ApplicationDirectoryPtr;
interface DECLSPEC_UUID("{A02A2B22-1DBA-3F92-9F84-5563182851BB}") _ApplicationDirectoryMembershipCondition;
typedef TComInterface<_ApplicationDirectoryMembershipCondition, &IID__ApplicationDirectoryMembershipCondition> _ApplicationDirectoryMembershipConditionPtr;
interface DECLSPEC_UUID("{18E473F6-637B-3C01-8D46-D011AAD26C95}") _ApplicationSecurityInfo;
typedef TComInterface<_ApplicationSecurityInfo, &IID__ApplicationSecurityInfo> _ApplicationSecurityInfoPtr;
interface DECLSPEC_UUID("{C664FE09-0A55-316D-B25B-6B3200ECAF70}") _ApplicationSecurityManager;
typedef TComInterface<_ApplicationSecurityManager, &IID__ApplicationSecurityManager> _ApplicationSecurityManagerPtr;
interface DECLSPEC_UUID("{E66A9755-58E2-3FCB-A265-835851CBF063}") _ApplicationTrust;
typedef TComInterface<_ApplicationTrust, &IID__ApplicationTrust> _ApplicationTrustPtr;
interface DECLSPEC_UUID("{BB03C920-1C05-3ECB-982D-53324D5AC9FF}") _ApplicationTrustCollection;
typedef TComInterface<_ApplicationTrustCollection, &IID__ApplicationTrustCollection> _ApplicationTrustCollectionPtr;
interface DECLSPEC_UUID("{01AFD447-60CA-3B67-803A-E57B727F3A5B}") _ApplicationTrustEnumerator;
typedef TComInterface<_ApplicationTrustEnumerator, &IID__ApplicationTrustEnumerator> _ApplicationTrustEnumeratorPtr;
interface DECLSPEC_UUID("{D7093F61-ED6B-343F-B1E9-02472FCC710E}") _CodeGroup;
typedef TComInterface<_CodeGroup, &IID__CodeGroup> _CodeGroupPtr;
interface DECLSPEC_UUID("{A505EDBC-380E-3B23-9E1A-0974D4EF02EF}") _Evidence;
typedef TComInterface<_Evidence, &IID__Evidence> _EvidencePtr;
interface DECLSPEC_UUID("{DFAD74DC-8390-32F6-9612-1BD293B233F4}") _FileCodeGroup;
typedef TComInterface<_FileCodeGroup, &IID__FileCodeGroup> _FileCodeGroupPtr;
interface DECLSPEC_UUID("{54B0AFB1-E7D3-3770-BB0E-75A95E8D2656}") _FirstMatchCodeGroup;
typedef TComInterface<_FirstMatchCodeGroup, &IID__FirstMatchCodeGroup> _FirstMatchCodeGroupPtr;
interface DECLSPEC_UUID("{4E95244E-C6FC-3A86-8DB7-1712454DE3B6}") IIdentityPermissionFactory;
typedef TComInterface<IIdentityPermissionFactory, &IID_IIdentityPermissionFactory> IIdentityPermissionFactoryPtr;
interface DECLSPEC_UUID("{427E255D-AF02-3B0D-8CE3-A2BB94BA300F}") IApplicationTrustManager;
typedef TComInterface<IApplicationTrustManager, &IID_IApplicationTrustManager> IApplicationTrustManagerPtr;
interface DECLSPEC_UUID("{D89EAC5E-0331-3FCD-9C16-4F1ED3FE1BE2}") _TrustManagerContext;
typedef TComInterface<_TrustManagerContext, &IID__TrustManagerContext> _TrustManagerContextPtr;
interface DECLSPEC_UUID("{FE8A2546-3478-3FAD-BE1D-DA7BC25C4E4E}") _CodeConnectAccess;
typedef TComInterface<_CodeConnectAccess, &IID__CodeConnectAccess> _CodeConnectAccessPtr;
interface DECLSPEC_UUID("{A8F69ECA-8C48-3B5E-92A1-654925058059}") _NetCodeGroup;
typedef TComInterface<_NetCodeGroup, &IID__NetCodeGroup> _NetCodeGroupPtr;
interface DECLSPEC_UUID("{34B0417E-E71D-304C-9FAC-689350A1B41C}") _PermissionRequestEvidence;
typedef TComInterface<_PermissionRequestEvidence, &IID__PermissionRequestEvidence> _PermissionRequestEvidencePtr;
interface DECLSPEC_UUID("{A9C9F3D9-E153-39B8-A533-B8DF4664407B}") _PolicyException;
typedef TComInterface<_PolicyException, &IID__PolicyException> _PolicyExceptionPtr;
interface DECLSPEC_UUID("{44494E35-C370-3014-BC78-0F2ECBF83F53}") _PolicyLevel;
typedef TComInterface<_PolicyLevel, &IID__PolicyLevel> _PolicyLevelPtr;
interface DECLSPEC_UUID("{3EEFD1FC-4D8D-3177-99F6-6C19D9E088D3}") _PolicyStatement;
typedef TComInterface<_PolicyStatement, &IID__PolicyStatement> _PolicyStatementPtr;
interface DECLSPEC_UUID("{90C40B4C-B0D0-30F5-B520-FDBA97BC31A0}") _Site;
typedef TComInterface<_Site, &IID__Site> _SitePtr;
interface DECLSPEC_UUID("{0A7C3542-8031-3593-872C-78D85D7CC273}") _SiteMembershipCondition;
typedef TComInterface<_SiteMembershipCondition, &IID__SiteMembershipCondition> _SiteMembershipConditionPtr;
interface DECLSPEC_UUID("{2A75C1FD-06B0-3CBB-B467-2545D4D6C865}") _StrongName;
typedef TComInterface<_StrongName, &IID__StrongName> _StrongNamePtr;
interface DECLSPEC_UUID("{579E93BC-FFAB-3B8D-9181-CE9C22B51915}") _StrongNameMembershipCondition;
typedef TComInterface<_StrongNameMembershipCondition, &IID__StrongNameMembershipCondition> _StrongNameMembershipConditionPtr;
interface DECLSPEC_UUID("{D9D822DE-44E5-33CE-A43F-173E475CECB1}") _UnionCodeGroup;
typedef TComInterface<_UnionCodeGroup, &IID__UnionCodeGroup> _UnionCodeGroupPtr;
interface DECLSPEC_UUID("{D94ED9BF-C065-3703-81A2-2F76EA8E312F}") _Url;
typedef TComInterface<_Url, &IID__Url> _UrlPtr;
interface DECLSPEC_UUID("{BB7A158D-DBD9-3E13-B137-8E61E87E1128}") _UrlMembershipCondition;
typedef TComInterface<_UrlMembershipCondition, &IID__UrlMembershipCondition> _UrlMembershipConditionPtr;
interface DECLSPEC_UUID("{742E0C26-0E23-3D20-968C-D221094909AA}") _Zone;
typedef TComInterface<_Zone, &IID__Zone> _ZonePtr;
interface DECLSPEC_UUID("{ADBC3463-0101-3429-A06C-DB2F1DD6B724}") _ZoneMembershipCondition;
typedef TComInterface<_ZoneMembershipCondition, &IID__ZoneMembershipCondition> _ZoneMembershipConditionPtr;
interface DECLSPEC_UUID("{A7AEF52C-B47B-3660-BB3E-34347D56DB46}") _GacInstalled;
typedef TComInterface<_GacInstalled, &IID__GacInstalled> _GacInstalledPtr;
interface DECLSPEC_UUID("{B2217AB5-6E55-3FF6-A1A9-1B0DC0585040}") _GacMembershipCondition;
typedef TComInterface<_GacMembershipCondition, &IID__GacMembershipCondition> _GacMembershipConditionPtr;
interface DECLSPEC_UUID("{7574E121-74A6-3626-B578-0783BADB19D2}") _Hash;
typedef TComInterface<_Hash, &IID__Hash> _HashPtr;
interface DECLSPEC_UUID("{6BA6EA7A-C9FC-3E73-82EC-18F29D83EEFD}") _HashMembershipCondition;
typedef TComInterface<_HashMembershipCondition, &IID__HashMembershipCondition> _HashMembershipConditionPtr;
interface DECLSPEC_UUID("{77CCA693-ABF6-3773-BF58-C0B02701A744}") _Publisher;
typedef TComInterface<_Publisher, &IID__Publisher> _PublisherPtr;
interface DECLSPEC_UUID("{3515CF63-9863-3044-B3E1-210E98EFC702}") _PublisherMembershipCondition;
typedef TComInterface<_PublisherMembershipCondition, &IID__PublisherMembershipCondition> _PublisherMembershipConditionPtr;
interface DECLSPEC_UUID("{F4205A87-4D46-303D-B1D9-5A99F7C90D30}") IIdentity;
typedef TComInterface<IIdentity, &IID_IIdentity> IIdentityPtr;
interface DECLSPEC_UUID("{9A37D8B2-2256-3FE3-8BF0-4FC421A1244F}") _GenericIdentity;
typedef TComInterface<_GenericIdentity, &IID__GenericIdentity> _GenericIdentityPtr;
interface DECLSPEC_UUID("{4283CA6C-D291-3481-83C9-9554481FE888}") IPrincipal;
typedef TComInterface<IPrincipal, &IID_IPrincipal> IPrincipalPtr;
interface DECLSPEC_UUID("{B4701C26-1509-3726-B2E1-409A636C9B4F}") _GenericPrincipal;
typedef TComInterface<_GenericPrincipal, &IID__GenericPrincipal> _GenericPrincipalPtr;
interface DECLSPEC_UUID("{D8CF3F23-1A66-3344-8230-07EB53970B85}") _WindowsIdentity;
typedef TComInterface<_WindowsIdentity, &IID__WindowsIdentity> _WindowsIdentityPtr;
interface DECLSPEC_UUID("{60ECFDDA-650A-324C-B4B3-F4D75B563BB1}") _WindowsImpersonationContext;
typedef TComInterface<_WindowsImpersonationContext, &IID__WindowsImpersonationContext> _WindowsImpersonationContextPtr;
interface DECLSPEC_UUID("{6C42BAF9-1893-34FC-B3AF-06931E9B34A3}") _WindowsPrincipal;
typedef TComInterface<_WindowsPrincipal, &IID__WindowsPrincipal> _WindowsPrincipalPtr;
interface DECLSPEC_UUID("{1B6ED26A-4B7F-34FC-B2C8-8109D684B3DF}") _UnmanagedFunctionPointerAttribute;
typedef TComInterface<_UnmanagedFunctionPointerAttribute, &IID__UnmanagedFunctionPointerAttribute> _UnmanagedFunctionPointerAttributePtr;
interface DECLSPEC_UUID("{BBE41AC5-8692-3427-9AE1-C1058A38D492}") _DispIdAttribute;
typedef TComInterface<_DispIdAttribute, &IID__DispIdAttribute> _DispIdAttributePtr;
interface DECLSPEC_UUID("{A2145F38-CAC1-33DD-A318-21948AF6825D}") _InterfaceTypeAttribute;
typedef TComInterface<_InterfaceTypeAttribute, &IID__InterfaceTypeAttribute> _InterfaceTypeAttributePtr;
interface DECLSPEC_UUID("{0C1E7B57-B9B1-36E4-8396-549C29062A81}") _ComDefaultInterfaceAttribute;
typedef TComInterface<_ComDefaultInterfaceAttribute, &IID__ComDefaultInterfaceAttribute> _ComDefaultInterfaceAttributePtr;
interface DECLSPEC_UUID("{6B6391EE-842F-3E9A-8EEE-F13325E10996}") _ClassInterfaceAttribute;
typedef TComInterface<_ClassInterfaceAttribute, &IID__ClassInterfaceAttribute> _ClassInterfaceAttributePtr;
interface DECLSPEC_UUID("{1E7FFFE2-AAD9-34EE-8A9F-3C016B880FF0}") _ComVisibleAttribute;
typedef TComInterface<_ComVisibleAttribute, &IID__ComVisibleAttribute> _ComVisibleAttributePtr;
interface DECLSPEC_UUID("{288A86D1-6F4F-39C9-9E42-162CF1C37226}") _TypeLibImportClassAttribute;
typedef TComInterface<_TypeLibImportClassAttribute, &IID__TypeLibImportClassAttribute> _TypeLibImportClassAttributePtr;
interface DECLSPEC_UUID("{4AB67927-3C86-328A-8186-F85357DD5527}") _LCIDConversionAttribute;
typedef TComInterface<_LCIDConversionAttribute, &IID__LCIDConversionAttribute> _LCIDConversionAttributePtr;
interface DECLSPEC_UUID("{51BA926F-AAB5-3945-B8A6-C8F0F4A7D12B}") _ComRegisterFunctionAttribute;
typedef TComInterface<_ComRegisterFunctionAttribute, &IID__ComRegisterFunctionAttribute> _ComRegisterFunctionAttributePtr;
interface DECLSPEC_UUID("{9F164188-34EB-3F86-9F74-0BBE4155E65E}") _ComUnregisterFunctionAttribute;
typedef TComInterface<_ComUnregisterFunctionAttribute, &IID__ComUnregisterFunctionAttribute> _ComUnregisterFunctionAttributePtr;
interface DECLSPEC_UUID("{2B9F01DF-5A12-3688-98D6-C34BF5ED1865}") _ProgIdAttribute;
typedef TComInterface<_ProgIdAttribute, &IID__ProgIdAttribute> _ProgIdAttributePtr;
interface DECLSPEC_UUID("{3F3311CE-6BAF-3FB0-B855-489AFF740B6E}") _ImportedFromTypeLibAttribute;
typedef TComInterface<_ImportedFromTypeLibAttribute, &IID__ImportedFromTypeLibAttribute> _ImportedFromTypeLibAttributePtr;
interface DECLSPEC_UUID("{5778E7C7-2040-330E-B47A-92974DFFCFD4}") _IDispatchImplAttribute;
typedef TComInterface<_IDispatchImplAttribute, &IID__IDispatchImplAttribute> _IDispatchImplAttributePtr;
interface DECLSPEC_UUID("{E1984175-55F5-3065-82D8-A683FDFCF0AC}") _ComSourceInterfacesAttribute;
typedef TComInterface<_ComSourceInterfacesAttribute, &IID__ComSourceInterfacesAttribute> _ComSourceInterfacesAttributePtr;
interface DECLSPEC_UUID("{FD5B6AAC-FF8C-3472-B894-CD6DFADB6939}") _ComConversionLossAttribute;
typedef TComInterface<_ComConversionLossAttribute, &IID__ComConversionLossAttribute> _ComConversionLossAttributePtr;
interface DECLSPEC_UUID("{B5A1729E-B721-3121-A838-FDE43AF13468}") _TypeLibTypeAttribute;
typedef TComInterface<_TypeLibTypeAttribute, &IID__TypeLibTypeAttribute> _TypeLibTypeAttributePtr;
interface DECLSPEC_UUID("{3D18A8E2-EEDE-3139-B29D-8CAC057955DF}") _TypeLibFuncAttribute;
typedef TComInterface<_TypeLibFuncAttribute, &IID__TypeLibFuncAttribute> _TypeLibFuncAttributePtr;
interface DECLSPEC_UUID("{7B89862A-02A4-3279-8B42-4095FA3A778E}") _TypeLibVarAttribute;
typedef TComInterface<_TypeLibVarAttribute, &IID__TypeLibVarAttribute> _TypeLibVarAttributePtr;
interface DECLSPEC_UUID("{D858399F-E19E-3423-A720-AC12ABE2E5E8}") _MarshalAsAttribute;
typedef TComInterface<_MarshalAsAttribute, &IID__MarshalAsAttribute> _MarshalAsAttributePtr;
interface DECLSPEC_UUID("{1B093056-5454-386F-8971-BBCBC4E9A8F3}") _ComImportAttribute;
typedef TComInterface<_ComImportAttribute, &IID__ComImportAttribute> _ComImportAttributePtr;
interface DECLSPEC_UUID("{74435DAD-EC55-354B-8F5B-FA70D13B6293}") _GuidAttribute;
typedef TComInterface<_GuidAttribute, &IID__GuidAttribute> _GuidAttributePtr;
interface DECLSPEC_UUID("{FDF2A2EE-C882-3198-A48B-E37F0E574DFA}") _PreserveSigAttribute;
typedef TComInterface<_PreserveSigAttribute, &IID__PreserveSigAttribute> _PreserveSigAttributePtr;
interface DECLSPEC_UUID("{8474B65C-C39A-3D05-893D-577B9A314615}") _InAttribute;
typedef TComInterface<_InAttribute, &IID__InAttribute> _InAttributePtr;
interface DECLSPEC_UUID("{0697FC8C-9B04-3783-95C7-45ECCAC1CA27}") _OutAttribute;
typedef TComInterface<_OutAttribute, &IID__OutAttribute> _OutAttributePtr;
interface DECLSPEC_UUID("{0D6BD9AD-198E-3904-AD99-F6F82A2787C4}") _OptionalAttribute;
typedef TComInterface<_OptionalAttribute, &IID__OptionalAttribute> _OptionalAttributePtr;
interface DECLSPEC_UUID("{A1A26181-D55E-3EE2-96E6-70B354EF9371}") _DllImportAttribute;
typedef TComInterface<_DllImportAttribute, &IID__DllImportAttribute> _DllImportAttributePtr;
interface DECLSPEC_UUID("{23753322-C7B3-3F9A-AC96-52672C1B1CA9}") _StructLayoutAttribute;
typedef TComInterface<_StructLayoutAttribute, &IID__StructLayoutAttribute> _StructLayoutAttributePtr;
interface DECLSPEC_UUID("{C14342B8-BAFD-322A-BB71-62C672DA284E}") _FieldOffsetAttribute;
typedef TComInterface<_FieldOffsetAttribute, &IID__FieldOffsetAttribute> _FieldOffsetAttributePtr;
interface DECLSPEC_UUID("{E78785C4-3A73-3C15-9390-618BF3A14719}") _ComAliasNameAttribute;
typedef TComInterface<_ComAliasNameAttribute, &IID__ComAliasNameAttribute> _ComAliasNameAttributePtr;
interface DECLSPEC_UUID("{57B908A8-C082-3581-8A47-6B41B86E8FDC}") _AutomationProxyAttribute;
typedef TComInterface<_AutomationProxyAttribute, &IID__AutomationProxyAttribute> _AutomationProxyAttributePtr;
interface DECLSPEC_UUID("{C69E96B2-6161-3621-B165-5805198C6B8D}") _PrimaryInteropAssemblyAttribute;
typedef TComInterface<_PrimaryInteropAssemblyAttribute, &IID__PrimaryInteropAssemblyAttribute> _PrimaryInteropAssemblyAttributePtr;
interface DECLSPEC_UUID("{15D54C00-7C95-38D7-B859-E19346677DCD}") _CoClassAttribute;
typedef TComInterface<_CoClassAttribute, &IID__CoClassAttribute> _CoClassAttributePtr;
interface DECLSPEC_UUID("{76CC0491-9A10-35C0-8A66-7931EC345B7F}") _ComEventInterfaceAttribute;
typedef TComInterface<_ComEventInterfaceAttribute, &IID__ComEventInterfaceAttribute> _ComEventInterfaceAttributePtr;
interface DECLSPEC_UUID("{A03B61A4-CA61-3460-8232-2F4EC96AA88F}") _TypeLibVersionAttribute;
typedef TComInterface<_TypeLibVersionAttribute, &IID__TypeLibVersionAttribute> _TypeLibVersionAttributePtr;
interface DECLSPEC_UUID("{AD419379-2AC8-3588-AB1E-0115413277C4}") _ComCompatibleVersionAttribute;
typedef TComInterface<_ComCompatibleVersionAttribute, &IID__ComCompatibleVersionAttribute> _ComCompatibleVersionAttributePtr;
interface DECLSPEC_UUID("{ED47ABE7-C84B-39F9-BE1B-828CFB925AFE}") _BestFitMappingAttribute;
typedef TComInterface<_BestFitMappingAttribute, &IID__BestFitMappingAttribute> _BestFitMappingAttributePtr;
interface DECLSPEC_UUID("{B26B3465-28E4-33B5-B9BF-DD7C4F6461F5}") _DefaultCharSetAttribute;
typedef TComInterface<_DefaultCharSetAttribute, &IID__DefaultCharSetAttribute> _DefaultCharSetAttributePtr;
interface DECLSPEC_UUID("{A54AC093-BFCE-37B0-A81F-148DFED0971F}") _SetWin32ContextInIDispatchAttribute;
typedef TComInterface<_SetWin32ContextInIDispatchAttribute, &IID__SetWin32ContextInIDispatchAttribute> _SetWin32ContextInIDispatchAttributePtr;
interface DECLSPEC_UUID("{A83F04E9-FD28-384A-9DFF-410688AC23AB}") _ExternalException;
typedef TComInterface<_ExternalException, &IID__ExternalException> _ExternalExceptionPtr;
interface DECLSPEC_UUID("{A28C19DF-B488-34AE-BECC-7DE744D17F7B}") _COMException;
typedef TComInterface<_COMException, &IID__COMException> _COMExceptionPtr;
interface DECLSPEC_UUID("{601CD486-04BF-3213-9EA9-06EBE4351D74}") ICustomMarshaler;
typedef TComInterface<ICustomMarshaler, &IID_ICustomMarshaler> ICustomMarshalerPtr;
interface DECLSPEC_UUID("{76E5DBD6-F960-3C65-8EA6-FC8AD6A67022}") _InvalidOleVariantTypeException;
typedef TComInterface<_InvalidOleVariantTypeException, &IID__InvalidOleVariantTypeException> _InvalidOleVariantTypeExceptionPtr;
interface DECLSPEC_UUID("{F1C3BF76-C3E4-11D3-88E7-00902754C43A}") ITypeLibImporterNotifySink;
typedef TComInterface<ITypeLibImporterNotifySink, &IID_ITypeLibImporterNotifySink> ITypeLibImporterNotifySinkPtr;
interface DECLSPEC_UUID("{523F42A5-1FD2-355D-82BF-0D67C4A0A0E7}") _MarshalDirectiveException;
typedef TComInterface<_MarshalDirectiveException, &IID__MarshalDirectiveException> _MarshalDirectiveExceptionPtr;
interface DECLSPEC_UUID("{EDCEE21A-3E3A-331E-A86D-274028BE6716}") _RuntimeEnvironment;
typedef TComInterface<_RuntimeEnvironment, &IID__RuntimeEnvironment> _RuntimeEnvironmentPtr;
interface DECLSPEC_UUID("{3E72E067-4C5E-36C8-BBEF-1E2978C7780D}") _SEHException;
typedef TComInterface<_SEHException, &IID__SEHException> _SEHExceptionPtr;
interface DECLSPEC_UUID("{80DA5818-609F-32B8-A9F8-95FCFBDB9C8E}") _BStrWrapper;
typedef TComInterface<_BStrWrapper, &IID__BStrWrapper> _BStrWrapperPtr;
interface DECLSPEC_UUID("{7DF6F279-DA62-3C9F-8944-4DD3C0F08170}") _CurrencyWrapper;
typedef TComInterface<_CurrencyWrapper, &IID__CurrencyWrapper> _CurrencyWrapperPtr;
interface DECLSPEC_UUID("{72103C67-D511-329C-B19A-DD5EC3F1206C}") _DispatchWrapper;
typedef TComInterface<_DispatchWrapper, &IID__DispatchWrapper> _DispatchWrapperPtr;
interface DECLSPEC_UUID("{F79DB336-06BE-3959-A5AB-58B2AB6C5FD1}") _ErrorWrapper;
typedef TComInterface<_ErrorWrapper, &IID__ErrorWrapper> _ErrorWrapperPtr;
interface DECLSPEC_UUID("{519EB857-7A2D-3A95-A2A3-8BB8ED63D41B}") _ExtensibleClassFactory;
typedef TComInterface<_ExtensibleClassFactory, &IID__ExtensibleClassFactory> _ExtensibleClassFactoryPtr;
interface DECLSPEC_UUID("{3CC86595-FEB5-3CE9-BA14-D05C8DC3321C}") ICustomAdapter;
typedef TComInterface<ICustomAdapter, &IID_ICustomAdapter> ICustomAdapterPtr;
interface DECLSPEC_UUID("{0CA9008E-EE90-356E-9F6D-B59E6006B9A4}") ICustomFactory;
typedef TComInterface<ICustomFactory, &IID_ICustomFactory> ICustomFactoryPtr;
interface DECLSPEC_UUID("{DE9156B5-5E7A-3041-BF45-A29A6C2CF48A}") _InvalidComObjectException;
typedef TComInterface<_InvalidComObjectException, &IID__InvalidComObjectException> _InvalidComObjectExceptionPtr;
interface DECLSPEC_UUID("{CCBD682C-73A5-4568-B8B0-C7007E11ABA2}") IRegistrationServices;
typedef TComInterface<IRegistrationServices, &IID_IRegistrationServices> IRegistrationServicesPtr;
interface DECLSPEC_UUID("{F1C3BF77-C3E4-11D3-88E7-00902754C43A}") ITypeLibExporterNotifySink;
typedef TComInterface<ITypeLibExporterNotifySink, &IID_ITypeLibExporterNotifySink> ITypeLibExporterNotifySinkPtr;
interface DECLSPEC_UUID("{F1C3BF78-C3E4-11D3-88E7-00902754C43A}") ITypeLibConverter;
typedef TComInterface<ITypeLibConverter, &IID_ITypeLibConverter> ITypeLibConverterPtr;
interface DECLSPEC_UUID("{FA1F3615-ACB9-486D-9EAC-1BEF87E36B09}") ITypeLibExporterNameProvider;
typedef TComInterface<ITypeLibExporterNameProvider, &IID_ITypeLibExporterNameProvider> ITypeLibExporterNameProviderPtr;
interface DECLSPEC_UUID("{E4A369D3-6CF0-3B05-9C0C-1A91E331641A}") _ObjectCreationDelegate;
typedef TComInterface<_ObjectCreationDelegate, &IID__ObjectCreationDelegate> _ObjectCreationDelegatePtr;
interface DECLSPEC_UUID("{8608FE7B-2FDC-318A-B711-6F7B2FEDED06}") _SafeArrayRankMismatchException;
typedef TComInterface<_SafeArrayRankMismatchException, &IID__SafeArrayRankMismatchException> _SafeArrayRankMismatchExceptionPtr;
interface DECLSPEC_UUID("{E093FB32-E43B-3B3F-A163-742C920C2AF3}") _SafeArrayTypeMismatchException;
typedef TComInterface<_SafeArrayTypeMismatchException, &IID__SafeArrayTypeMismatchException> _SafeArrayTypeMismatchExceptionPtr;
interface DECLSPEC_UUID("{1C8D8B14-4589-3DCA-8E0F-A30E80FBD1A8}") _UnknownWrapper;
typedef TComInterface<_UnknownWrapper, &IID__UnknownWrapper> _UnknownWrapperPtr;
interface DECLSPEC_UUID("{AFBF15E6-C37C-11D2-B88E-00A0C9B471B8}") IExpando;
typedef TComInterface<IExpando, &IID_IExpando> IExpandoPtr;
interface DECLSPEC_UUID("{2752364A-924F-3603-8F6F-6586DF98B292}") _Stream;
typedef TComInterface<_Stream, &IID__Stream> _StreamPtr;
interface DECLSPEC_UUID("{442E3C03-A205-3F21-AA4D-31768BB8EA28}") _BinaryReader;
typedef TComInterface<_BinaryReader, &IID__BinaryReader> _BinaryReaderPtr;
interface DECLSPEC_UUID("{4CA8147E-BAA3-3A7F-92CE-A4FD7F17D8DA}") _BinaryWriter;
typedef TComInterface<_BinaryWriter, &IID__BinaryWriter> _BinaryWriterPtr;
interface DECLSPEC_UUID("{4B7571C3-1275-3457-8FEE-9976FD3937E3}") _BufferedStream;
typedef TComInterface<_BufferedStream, &IID__BufferedStream> _BufferedStreamPtr;
interface DECLSPEC_UUID("{8CE58FF5-F26D-38A4-9195-0E2ECB3B56B9}") _Directory;
typedef TComInterface<_Directory, &IID__Directory> _DirectoryPtr;
interface DECLSPEC_UUID("{A5D29A57-36A8-3E36-A099-7458B1FABAA2}") _FileSystemInfo;
typedef TComInterface<_FileSystemInfo, &IID__FileSystemInfo> _FileSystemInfoPtr;
interface DECLSPEC_UUID("{487E52F1-2BB9-3BD0-A0CA-6728B3A1D051}") _DirectoryInfo;
typedef TComInterface<_DirectoryInfo, &IID__DirectoryInfo> _DirectoryInfoPtr;
interface DECLSPEC_UUID("{C5BFC9BF-27A7-3A59-A986-44C85F3521BF}") _IOException;
typedef TComInterface<_IOException, &IID__IOException> _IOExceptionPtr;
interface DECLSPEC_UUID("{C8A200E4-9735-30E4-B168-ED861A3020F2}") _DirectoryNotFoundException;
typedef TComInterface<_DirectoryNotFoundException, &IID__DirectoryNotFoundException> _DirectoryNotFoundExceptionPtr;
interface DECLSPEC_UUID("{CE83A763-940F-341F-B880-332325EB6F4B}") _DriveInfo;
typedef TComInterface<_DriveInfo, &IID__DriveInfo> _DriveInfoPtr;
interface DECLSPEC_UUID("{B24E9559-A662-3762-AE33-BC7DFDD538F4}") _DriveNotFoundException;
typedef TComInterface<_DriveNotFoundException, &IID__DriveNotFoundException> _DriveNotFoundExceptionPtr;
interface DECLSPEC_UUID("{D625AFD0-8FD9-3113-A900-43912A54C421}") _EndOfStreamException;
typedef TComInterface<_EndOfStreamException, &IID__EndOfStreamException> _EndOfStreamExceptionPtr;
interface DECLSPEC_UUID("{5D59051F-E19D-329A-9962-FD00D552E13D}") _File;
typedef TComInterface<_File, &IID__File> _FilePtr;
interface DECLSPEC_UUID("{C3C429F9-8590-3A01-B2B2-434837F3D16D}") _FileInfo;
typedef TComInterface<_FileInfo, &IID__FileInfo> _FileInfoPtr;
interface DECLSPEC_UUID("{51D2C393-9B70-3551-84B5-FF5409FB3ADA}") _FileLoadException;
typedef TComInterface<_FileLoadException, &IID__FileLoadException> _FileLoadExceptionPtr;
interface DECLSPEC_UUID("{A15A976B-81E3-3EF4-8FF1-D75DDBE20AEF}") _FileNotFoundException;
typedef TComInterface<_FileNotFoundException, &IID__FileNotFoundException> _FileNotFoundExceptionPtr;
interface DECLSPEC_UUID("{74265195-4A46-3D6F-A9DD-69C367EA39C8}") _FileStream;
typedef TComInterface<_FileStream, &IID__FileStream> _FileStreamPtr;
interface DECLSPEC_UUID("{2DBC46FE-B3DD-3858-AFC2-D3A2D492A588}") _MemoryStream;
typedef TComInterface<_MemoryStream, &IID__MemoryStream> _MemoryStreamPtr;
interface DECLSPEC_UUID("{6DF93530-D276-31D9-8573-346778C650AF}") _Path;
typedef TComInterface<_Path, &IID__Path> _PathPtr;
interface DECLSPEC_UUID("{468B8EB4-89AC-381B-8F86-5E47EC0648B4}") _PathTooLongException;
typedef TComInterface<_PathTooLongException, &IID__PathTooLongException> _PathTooLongExceptionPtr;
interface DECLSPEC_UUID("{897471F2-9450-3F03-A41F-D2E1F1397854}") _TextReader;
typedef TComInterface<_TextReader, &IID__TextReader> _TextReaderPtr;
interface DECLSPEC_UUID("{E645B470-DC3F-3CE0-8104-5837FEDA04B3}") _StreamReader;
typedef TComInterface<_StreamReader, &IID__StreamReader> _StreamReaderPtr;
interface DECLSPEC_UUID("{556137EA-8825-30BC-9D49-E47A9DB034EE}") _TextWriter;
typedef TComInterface<_TextWriter, &IID__TextWriter> _TextWriterPtr;
interface DECLSPEC_UUID("{1F124E1C-D05D-3643-A59F-C3DE6051994F}") _StreamWriter;
typedef TComInterface<_StreamWriter, &IID__StreamWriter> _StreamWriterPtr;
interface DECLSPEC_UUID("{59733B03-0EA5-358C-95B5-659FCD9AA0B4}") _StringReader;
typedef TComInterface<_StringReader, &IID__StringReader> _StringReaderPtr;
interface DECLSPEC_UUID("{CB9F94C0-D691-3B62-B0B2-3CE5309CFA62}") _StringWriter;
typedef TComInterface<_StringWriter, &IID__StringWriter> _StringWriterPtr;
interface DECLSPEC_UUID("{998DCF16-F603-355D-8C89-3B675947997F}") _AccessedThroughPropertyAttribute;
typedef TComInterface<_AccessedThroughPropertyAttribute, &IID__AccessedThroughPropertyAttribute> _AccessedThroughPropertyAttributePtr;
interface DECLSPEC_UUID("{A6C2239B-08E6-3822-9769-E3D4B0431B82}") _CallConvCdecl;
typedef TComInterface<_CallConvCdecl, &IID__CallConvCdecl> _CallConvCdeclPtr;
interface DECLSPEC_UUID("{8E17A5CD-1160-32DC-8548-407E7C3827C9}") _CallConvStdcall;
typedef TComInterface<_CallConvStdcall, &IID__CallConvStdcall> _CallConvStdcallPtr;
interface DECLSPEC_UUID("{FA73DD3D-A472-35ED-B8BE-F99A13581F72}") _CallConvThiscall;
typedef TComInterface<_CallConvThiscall, &IID__CallConvThiscall> _CallConvThiscallPtr;
interface DECLSPEC_UUID("{3B452D17-3C5E-36C4-A12D-5E9276036CF8}") _CallConvFastcall;
typedef TComInterface<_CallConvFastcall, &IID__CallConvFastcall> _CallConvFastcallPtr;
interface DECLSPEC_UUID("{62CAF4A2-6A78-3FC7-AF81-A6BBF930761F}") _CustomConstantAttribute;
typedef TComInterface<_CustomConstantAttribute, &IID__CustomConstantAttribute> _CustomConstantAttributePtr;
interface DECLSPEC_UUID("{EF387020-B664-3ACD-A1D2-806345845953}") _DateTimeConstantAttribute;
typedef TComInterface<_DateTimeConstantAttribute, &IID__DateTimeConstantAttribute> _DateTimeConstantAttributePtr;
interface DECLSPEC_UUID("{3C3A8C69-7417-32FA-AA20-762D85E1B594}") _DiscardableAttribute;
typedef TComInterface<_DiscardableAttribute, &IID__DiscardableAttribute> _DiscardableAttributePtr;
interface DECLSPEC_UUID("{7E133967-CCEC-3E89-8BD2-6CFCA649ECBF}") _DecimalConstantAttribute;
typedef TComInterface<_DecimalConstantAttribute, &IID__DecimalConstantAttribute> _DecimalConstantAttributePtr;
interface DECLSPEC_UUID("{C5C4F625-2329-3382-8994-AAF561E5DFE9}") _CompilationRelaxationsAttribute;
typedef TComInterface<_CompilationRelaxationsAttribute, &IID__CompilationRelaxationsAttribute> _CompilationRelaxationsAttributePtr;
interface DECLSPEC_UUID("{1EED213E-656A-3A73-A4B9-0D3B26FD942B}") _CompilerGlobalScopeAttribute;
typedef TComInterface<_CompilerGlobalScopeAttribute, &IID__CompilerGlobalScopeAttribute> _CompilerGlobalScopeAttributePtr;
interface DECLSPEC_UUID("{243368F5-67C9-3510-9424-335A8A67772F}") _IndexerNameAttribute;
typedef TComInterface<_IndexerNameAttribute, &IID__IndexerNameAttribute> _IndexerNameAttributePtr;
interface DECLSPEC_UUID("{0278C819-0C06-3756-B053-601A3E566D9B}") _IsVolatile;
typedef TComInterface<_IsVolatile, &IID__IsVolatile> _IsVolatilePtr;
interface DECLSPEC_UUID("{98966503-5D80-3242-83EF-79E136F6B954}") _MethodImplAttribute;
typedef TComInterface<_MethodImplAttribute, &IID__MethodImplAttribute> _MethodImplAttributePtr;
interface DECLSPEC_UUID("{DB2C11D9-3870-35E7-A10C-A3DDC3DC79B1}") _RequiredAttributeAttribute;
typedef TComInterface<_RequiredAttributeAttribute, &IID__RequiredAttributeAttribute> _RequiredAttributeAttributePtr;
interface DECLSPEC_UUID("{F68A4008-AB94-3370-A9AC-8CC99939F534}") _IsCopyConstructed;
typedef TComInterface<_IsCopyConstructed, &IID__IsCopyConstructed> _IsCopyConstructedPtr;
interface DECLSPEC_UUID("{40E8E914-DC23-38A6-936B-90E4E3AB01FA}") _NativeCppClassAttribute;
typedef TComInterface<_NativeCppClassAttribute, &IID__NativeCppClassAttribute> _NativeCppClassAttributePtr;
interface DECLSPEC_UUID("{97D0B28A-6932-3D74-B67F-6BCD3C921E7D}") _IDispatchConstantAttribute;
typedef TComInterface<_IDispatchConstantAttribute, &IID__IDispatchConstantAttribute> _IDispatchConstantAttributePtr;
interface DECLSPEC_UUID("{54542649-CE64-3F96-BCE5-FDE3BB22F242}") _IUnknownConstantAttribute;
typedef TComInterface<_IUnknownConstantAttribute, &IID__IUnknownConstantAttribute> _IUnknownConstantAttributePtr;
interface DECLSPEC_UUID("{8D597C42-2CFD-32B6-B6D6-86C9E2CFF00A}") _SecurityElement;
typedef TComInterface<_SecurityElement, &IID__SecurityElement> _SecurityElementPtr;
interface DECLSPEC_UUID("{D9FCAD88-D869-3788-A802-1B1E007C7A22}") _XmlSyntaxException;
typedef TComInterface<_XmlSyntaxException, &IID__XmlSyntaxException> _XmlSyntaxExceptionPtr;
interface DECLSPEC_UUID("{A19B3FC6-D680-3DD4-A17A-F58A7D481494}") IPermission;
typedef TComInterface<IPermission, &IID_IPermission> IPermissionPtr;
interface DECLSPEC_UUID("{60FC57B0-4A46-32A0-A5B4-B05B0DE8E781}") IStackWalk;
typedef TComInterface<IStackWalk, &IID_IStackWalk> IStackWalkPtr;
interface DECLSPEC_UUID("{4803CE39-2F30-31FC-B84B-5A0141385269}") _CodeAccessPermission;
typedef TComInterface<_CodeAccessPermission, &IID__CodeAccessPermission> _CodeAccessPermissionPtr;
interface DECLSPEC_UUID("{0F1284E6-4399-3963-8DDD-A6A4904F66C8}") IUnrestrictedPermission;
typedef TComInterface<IUnrestrictedPermission, &IID_IUnrestrictedPermission> IUnrestrictedPermissionPtr;
interface DECLSPEC_UUID("{0720590D-5218-352A-A337-5449E6BD19DA}") _EnvironmentPermission;
typedef TComInterface<_EnvironmentPermission, &IID__EnvironmentPermission> _EnvironmentPermissionPtr;
interface DECLSPEC_UUID("{A8B7138C-8932-3D78-A585-A91569C743AC}") _FileDialogPermission;
typedef TComInterface<_FileDialogPermission, &IID__FileDialogPermission> _FileDialogPermissionPtr;
interface DECLSPEC_UUID("{A2ED7EFC-8E59-3CCC-AE92-EA2377F4D5EF}") _FileIOPermission;
typedef TComInterface<_FileIOPermission, &IID__FileIOPermission> _FileIOPermissionPtr;
interface DECLSPEC_UUID("{48815668-6C27-3312-803E-2757F55CE96A}") _SecurityAttribute;
typedef TComInterface<_SecurityAttribute, &IID__SecurityAttribute> _SecurityAttributePtr;
interface DECLSPEC_UUID("{9C5149CB-D3C6-32FD-A0D5-95350DE7B813}") _CodeAccessSecurityAttribute;
typedef TComInterface<_CodeAccessSecurityAttribute, &IID__CodeAccessSecurityAttribute> _CodeAccessSecurityAttributePtr;
interface DECLSPEC_UUID("{9F8F73A3-1E99-3E51-A41B-179A41DC747C}") _HostProtectionAttribute;
typedef TComInterface<_HostProtectionAttribute, &IID__HostProtectionAttribute> _HostProtectionAttributePtr;
interface DECLSPEC_UUID("{7FEE7903-F97C-3350-AD42-196B00AD2564}") _IsolatedStoragePermission;
typedef TComInterface<_IsolatedStoragePermission, &IID__IsolatedStoragePermission> _IsolatedStoragePermissionPtr;
interface DECLSPEC_UUID("{0D0C83E8-BDE1-3BA5-B1EF-A8FC686D8BC9}") _IsolatedStorageFilePermission;
typedef TComInterface<_IsolatedStorageFilePermission, &IID__IsolatedStorageFilePermission> _IsolatedStorageFilePermissionPtr;
interface DECLSPEC_UUID("{4164071A-ED12-3BDD-AF40-FDABCAA77D5F}") _EnvironmentPermissionAttribute;
typedef TComInterface<_EnvironmentPermissionAttribute, &IID__EnvironmentPermissionAttribute> _EnvironmentPermissionAttributePtr;
interface DECLSPEC_UUID("{0CCCA629-440F-313E-96CD-BA1B4B4997F7}") _FileDialogPermissionAttribute;
typedef TComInterface<_FileDialogPermissionAttribute, &IID__FileDialogPermissionAttribute> _FileDialogPermissionAttributePtr;
interface DECLSPEC_UUID("{0DCA817D-F21A-3943-B54C-5E800CE5BC50}") _FileIOPermissionAttribute;
typedef TComInterface<_FileIOPermissionAttribute, &IID__FileIOPermissionAttribute> _FileIOPermissionAttributePtr;
interface DECLSPEC_UUID("{EDB51D1C-08AD-346A-BE6F-D74FD6D6F965}") _KeyContainerPermissionAttribute;
typedef TComInterface<_KeyContainerPermissionAttribute, &IID__KeyContainerPermissionAttribute> _KeyContainerPermissionAttributePtr;
interface DECLSPEC_UUID("{68AB69E4-5D68-3B51-B74D-1BEAB9F37F2B}") _PrincipalPermissionAttribute;
typedef TComInterface<_PrincipalPermissionAttribute, &IID__PrincipalPermissionAttribute> _PrincipalPermissionAttributePtr;
interface DECLSPEC_UUID("{D31EED10-A5F0-308F-A951-E557961EC568}") _ReflectionPermissionAttribute;
typedef TComInterface<_ReflectionPermissionAttribute, &IID__ReflectionPermissionAttribute> _ReflectionPermissionAttributePtr;
interface DECLSPEC_UUID("{38B6068C-1E94-3119-8841-1ECA35ED8578}") _RegistryPermissionAttribute;
typedef TComInterface<_RegistryPermissionAttribute, &IID__RegistryPermissionAttribute> _RegistryPermissionAttributePtr;
interface DECLSPEC_UUID("{3A5B876C-CDE4-32D2-9C7E-020A14ACA332}") _SecurityPermissionAttribute;
typedef TComInterface<_SecurityPermissionAttribute, &IID__SecurityPermissionAttribute> _SecurityPermissionAttributePtr;
interface DECLSPEC_UUID("{1D5C0F70-AF29-38A3-9436-3070A310C73B}") _UIPermissionAttribute;
typedef TComInterface<_UIPermissionAttribute, &IID__UIPermissionAttribute> _UIPermissionAttributePtr;
interface DECLSPEC_UUID("{2E3BE3ED-2F22-3B20-9F92-BD29B79D6F42}") _ZoneIdentityPermissionAttribute;
typedef TComInterface<_ZoneIdentityPermissionAttribute, &IID__ZoneIdentityPermissionAttribute> _ZoneIdentityPermissionAttributePtr;
interface DECLSPEC_UUID("{C9A740F4-26E9-39A8-8885-8CA26BD79B21}") _StrongNameIdentityPermissionAttribute;
typedef TComInterface<_StrongNameIdentityPermissionAttribute, &IID__StrongNameIdentityPermissionAttribute> _StrongNameIdentityPermissionAttributePtr;
interface DECLSPEC_UUID("{6FE6894A-2A53-3FB6-A06E-348F9BDAD23B}") _SiteIdentityPermissionAttribute;
typedef TComInterface<_SiteIdentityPermissionAttribute, &IID__SiteIdentityPermissionAttribute> _SiteIdentityPermissionAttributePtr;
interface DECLSPEC_UUID("{CA4A2073-48C5-3E61-8349-11701A90DD9B}") _UrlIdentityPermissionAttribute;
typedef TComInterface<_UrlIdentityPermissionAttribute, &IID__UrlIdentityPermissionAttribute> _UrlIdentityPermissionAttributePtr;
interface DECLSPEC_UUID("{6722C730-1239-3784-AC94-C285AE5B901A}") _PublisherIdentityPermissionAttribute;
typedef TComInterface<_PublisherIdentityPermissionAttribute, &IID__PublisherIdentityPermissionAttribute> _PublisherIdentityPermissionAttributePtr;
interface DECLSPEC_UUID("{5C4C522F-DE4E-3595-9AA9-9319C86A5283}") _IsolatedStoragePermissionAttribute;
typedef TComInterface<_IsolatedStoragePermissionAttribute, &IID__IsolatedStoragePermissionAttribute> _IsolatedStoragePermissionAttributePtr;
interface DECLSPEC_UUID("{6F1F8AAE-D667-39CC-98FA-722BEBBBEAC3}") _IsolatedStorageFilePermissionAttribute;
typedef TComInterface<_IsolatedStorageFilePermissionAttribute, &IID__IsolatedStorageFilePermissionAttribute> _IsolatedStorageFilePermissionAttributePtr;
interface DECLSPEC_UUID("{947A1995-BC16-3E7C-B65A-99E71F39C091}") _PermissionSetAttribute;
typedef TComInterface<_PermissionSetAttribute, &IID__PermissionSetAttribute> _PermissionSetAttributePtr;
interface DECLSPEC_UUID("{AEB3727F-5C3A-34C4-BF18-A38F088AC8C7}") _ReflectionPermission;
typedef TComInterface<_ReflectionPermission, &IID__ReflectionPermission> _ReflectionPermissionPtr;
interface DECLSPEC_UUID("{7C6B06D1-63AD-35EF-A938-149B4AD9A71F}") _PrincipalPermission;
typedef TComInterface<_PrincipalPermission, &IID__PrincipalPermission> _PrincipalPermissionPtr;
interface DECLSPEC_UUID("{33C54A2D-02BD-3848-80B6-742D537085E5}") _SecurityPermission;
typedef TComInterface<_SecurityPermission, &IID__SecurityPermission> _SecurityPermissionPtr;
interface DECLSPEC_UUID("{790B3EE9-7E06-3CD0-8243-5848486D6A78}") _SiteIdentityPermission;
typedef TComInterface<_SiteIdentityPermission, &IID__SiteIdentityPermission> _SiteIdentityPermissionPtr;
interface DECLSPEC_UUID("{5F1562FB-0160-3655-BAEA-B15BEF609161}") _StrongNameIdentityPermission;
typedef TComInterface<_StrongNameIdentityPermission, &IID__StrongNameIdentityPermission> _StrongNameIdentityPermissionPtr;
interface DECLSPEC_UUID("{AF53D21A-D6AF-3406-B399-7DF9D2AAD48A}") _StrongNamePublicKeyBlob;
typedef TComInterface<_StrongNamePublicKeyBlob, &IID__StrongNamePublicKeyBlob> _StrongNamePublicKeyBlobPtr;
interface DECLSPEC_UUID("{47698389-F182-3A67-87DF-AED490E14DC6}") _UIPermission;
typedef TComInterface<_UIPermission, &IID__UIPermission> _UIPermissionPtr;
interface DECLSPEC_UUID("{EC7CAC31-08A2-393B-BDF2-D052EB53AF2C}") _UrlIdentityPermission;
typedef TComInterface<_UrlIdentityPermission, &IID__UrlIdentityPermission> _UrlIdentityPermissionPtr;
interface DECLSPEC_UUID("{38B2F8D7-8CF4-323B-9C17-9C55EE287A63}") _ZoneIdentityPermission;
typedef TComInterface<_ZoneIdentityPermission, &IID__ZoneIdentityPermission> _ZoneIdentityPermissionPtr;
interface DECLSPEC_UUID("{5F19E082-26F8-3361-B338-9BACB98809A4}") _GacIdentityPermissionAttribute;
typedef TComInterface<_GacIdentityPermissionAttribute, &IID__GacIdentityPermissionAttribute> _GacIdentityPermissionAttributePtr;
interface DECLSPEC_UUID("{A9637792-5BE8-3C93-A501-49F0E840DE38}") _GacIdentityPermission;
typedef TComInterface<_GacIdentityPermission, &IID__GacIdentityPermission> _GacIdentityPermissionPtr;
interface DECLSPEC_UUID("{094351EA-DBC1-327F-8A83-913B593A66BE}") _KeyContainerPermissionAccessEntry;
typedef TComInterface<_KeyContainerPermissionAccessEntry, &IID__KeyContainerPermissionAccessEntry> _KeyContainerPermissionAccessEntryPtr;
interface DECLSPEC_UUID("{28ECF94E-3510-3A3E-8BD1-F866F45F3B06}") _KeyContainerPermissionAccessEntryCollection;
typedef TComInterface<_KeyContainerPermissionAccessEntryCollection, &IID__KeyContainerPermissionAccessEntryCollection> _KeyContainerPermissionAccessEntryCollectionPtr;
interface DECLSPEC_UUID("{293187EA-5F88-316F-86A5-533B0C7B353F}") _KeyContainerPermissionAccessEntryEnumerator;
typedef TComInterface<_KeyContainerPermissionAccessEntryEnumerator, &IID__KeyContainerPermissionAccessEntryEnumerator> _KeyContainerPermissionAccessEntryEnumeratorPtr;
interface DECLSPEC_UUID("{107A3CF1-B35E-3A23-B660-60264B231225}") _KeyContainerPermission;
typedef TComInterface<_KeyContainerPermission, &IID__KeyContainerPermission> _KeyContainerPermissionPtr;
interface DECLSPEC_UUID("{E86CC74A-1233-3DF3-B13F-8B27EEAAC1F6}") _PublisherIdentityPermission;
typedef TComInterface<_PublisherIdentityPermission, &IID__PublisherIdentityPermission> _PublisherIdentityPermissionPtr;
interface DECLSPEC_UUID("{C3FB5510-3454-3B31-B64F-DE6AAD6BE820}") _RegistryPermission;
typedef TComInterface<_RegistryPermission, &IID__RegistryPermission> _RegistryPermissionPtr;
interface DECLSPEC_UUID("{8000E51A-541C-3B20-A8EC-C8A8B41116C4}") _SuppressUnmanagedCodeSecurityAttribute;
typedef TComInterface<_SuppressUnmanagedCodeSecurityAttribute, &IID__SuppressUnmanagedCodeSecurityAttribute> _SuppressUnmanagedCodeSecurityAttributePtr;
interface DECLSPEC_UUID("{41F41C1B-7B8D-39A3-A28F-AAE20787F469}") _UnverifiableCodeAttribute;
typedef TComInterface<_UnverifiableCodeAttribute, &IID__UnverifiableCodeAttribute> _UnverifiableCodeAttributePtr;
interface DECLSPEC_UUID("{F1C930C4-2233-3924-9840-231D008259B4}") _AllowPartiallyTrustedCallersAttribute;
typedef TComInterface<_AllowPartiallyTrustedCallersAttribute, &IID__AllowPartiallyTrustedCallersAttribute> _AllowPartiallyTrustedCallersAttributePtr;
interface DECLSPEC_UUID("{9DEAE196-48C1-3590-9D0A-33716A214ACD}") _HostSecurityManager;
typedef TComInterface<_HostSecurityManager, &IID__HostSecurityManager> _HostSecurityManagerPtr;
interface DECLSPEC_UUID("{C2AF4970-4FB6-319C-A8AA-0614D27F2B2C}") _PermissionSet;
typedef TComInterface<_PermissionSet, &IID__PermissionSet> _PermissionSetPtr;
interface DECLSPEC_UUID("{BA3E053F-ADE3-3233-874A-16E624C9A49B}") _NamedPermissionSet;
typedef TComInterface<_NamedPermissionSet, &IID__NamedPermissionSet> _NamedPermissionSetPtr;
interface DECLSPEC_UUID("{F174290F-E4CF-3976-88AA-4F8E32EB03DB}") _SecurityException;
typedef TComInterface<_SecurityException, &IID__SecurityException> _SecurityExceptionPtr;
interface DECLSPEC_UUID("{ED727A9B-6FC5-3FED-BEDD-7B66C847F87A}") _HostProtectionException;
typedef TComInterface<_HostProtectionException, &IID__HostProtectionException> _HostProtectionExceptionPtr;
interface DECLSPEC_UUID("{ABC04B16-5539-3C7E-92EC-0905A4A24464}") _SecurityManager;
typedef TComInterface<_SecurityManager, &IID__SecurityManager> _SecurityManagerPtr;
interface DECLSPEC_UUID("{F65070DF-57AF-3AE3-B951-D2AD7D513347}") _VerificationException;
typedef TComInterface<_VerificationException, &IID__VerificationException> _VerificationExceptionPtr;
interface DECLSPEC_UUID("{4A68BAA3-27AA-314A-BDBB-6AE9BDFC0420}") IContextAttribute;
typedef TComInterface<IContextAttribute, &IID_IContextAttribute> IContextAttributePtr;
interface DECLSPEC_UUID("{F01D896D-8D5F-3235-BE59-20E1E10DC22A}") IContextProperty;
typedef TComInterface<IContextProperty, &IID_IContextProperty> IContextPropertyPtr;
interface DECLSPEC_UUID("{F042505B-7AAC-313B-A8C7-3F1AC949C311}") _ContextAttribute;
typedef TComInterface<_ContextAttribute, &IID__ContextAttribute> _ContextAttributePtr;
interface DECLSPEC_UUID("{C02BBB79-5AA8-390D-927F-717B7BFF06A1}") IActivator;
typedef TComInterface<IActivator, &IID_IActivator> IActivatorPtr;
interface DECLSPEC_UUID("{941F8AAA-A353-3B1D-A019-12E44377F1CD}") IMessageSink;
typedef TComInterface<IMessageSink, &IID_IMessageSink> IMessageSinkPtr;
interface DECLSPEC_UUID("{3936ABE1-B29E-3593-83F1-793D1A7F3898}") _AsyncResult;
typedef TComInterface<_AsyncResult, &IID__AsyncResult> _AsyncResultPtr;
interface DECLSPEC_UUID("{53BCE4D4-6209-396D-BD4A-0B0A0A177DF9}") _CallContext;
typedef TComInterface<_CallContext, &IID__CallContext> _CallContextPtr;
interface DECLSPEC_UUID("{4D125449-BA27-3927-8589-3E1B34B622E5}") ILogicalThreadAffinative;
typedef TComInterface<ILogicalThreadAffinative, &IID_ILogicalThreadAffinative> ILogicalThreadAffinativePtr;
interface DECLSPEC_UUID("{9AFF21F5-1C9C-35E7-AEA4-C3AA0BEB3B77}") _LogicalCallContext;
typedef TComInterface<_LogicalCallContext, &IID__LogicalCallContext> _LogicalCallContextPtr;
interface DECLSPEC_UUID("{FFB2E16E-E5C7-367C-B326-965ABF510F24}") _ChannelServices;
typedef TComInterface<_ChannelServices, &IID__ChannelServices> _ChannelServicesPtr;
interface DECLSPEC_UUID("{3AFAB213-F5A2-3241-93BA-329EA4BA8016}") IClientResponseChannelSinkStack;
typedef TComInterface<IClientResponseChannelSinkStack, &IID_IClientResponseChannelSinkStack> IClientResponseChannelSinkStackPtr;
interface DECLSPEC_UUID("{3A5FDE6B-DB46-34E8-BACD-16EA5A440540}") IClientChannelSinkStack;
typedef TComInterface<IClientChannelSinkStack, &IID_IClientChannelSinkStack> IClientChannelSinkStackPtr;
interface DECLSPEC_UUID("{E1796120-C324-30D8-86F4-20086711463B}") _ClientChannelSinkStack;
typedef TComInterface<_ClientChannelSinkStack, &IID__ClientChannelSinkStack> _ClientChannelSinkStackPtr;
interface DECLSPEC_UUID("{9BE679A6-61FD-38FC-A7B2-89982D33338B}") IServerResponseChannelSinkStack;
typedef TComInterface<IServerResponseChannelSinkStack, &IID_IServerResponseChannelSinkStack> IServerResponseChannelSinkStackPtr;
interface DECLSPEC_UUID("{E694A733-768D-314D-B317-DCEAD136B11D}") IServerChannelSinkStack;
typedef TComInterface<IServerChannelSinkStack, &IID_IServerChannelSinkStack> IServerChannelSinkStackPtr;
interface DECLSPEC_UUID("{52DA9F90-89B3-35AB-907B-3562642967DE}") _ServerChannelSinkStack;
typedef TComInterface<_ServerChannelSinkStack, &IID__ServerChannelSinkStack> _ServerChannelSinkStackPtr;
interface DECLSPEC_UUID("{675591AF-0508-3131-A7CC-287D265CA7D6}") ISponsor;
typedef TComInterface<ISponsor, &IID_ISponsor> ISponsorPtr;
interface DECLSPEC_UUID("{FF19D114-3BDA-30AC-8E89-36CA64A87120}") _ClientSponsor;
typedef TComInterface<_ClientSponsor, &IID__ClientSponsor> _ClientSponsorPtr;
interface DECLSPEC_UUID("{EE949B7B-439F-363E-B9FC-34DB1FB781D7}") _CrossContextDelegate;
typedef TComInterface<_CrossContextDelegate, &IID__CrossContextDelegate> _CrossContextDelegatePtr;
interface DECLSPEC_UUID("{11A2EA7A-D600-307B-A606-511A6C7950D1}") _Context;
typedef TComInterface<_Context, &IID__Context> _ContextPtr;
interface DECLSPEC_UUID("{4ACB3495-05DB-381B-890A-D12F5340DCA3}") _ContextProperty;
typedef TComInterface<_ContextProperty, &IID__ContextProperty> _ContextPropertyPtr;
interface DECLSPEC_UUID("{7197B56B-5FA1-31EF-B38B-62FEE737277F}") IContextPropertyActivator;
typedef TComInterface<IContextPropertyActivator, &IID_IContextPropertyActivator> IContextPropertyActivatorPtr;
interface DECLSPEC_UUID("{563581E8-C86D-39E2-B2E8-6C23F7987A4B}") IChannel;
typedef TComInterface<IChannel, &IID_IChannel> IChannelPtr;
interface DECLSPEC_UUID("{10F1D605-E201-3145-B7AE-3AD746701986}") IChannelSender;
typedef TComInterface<IChannelSender, &IID_IChannelSender> IChannelSenderPtr;
interface DECLSPEC_UUID("{48AD41DA-0872-31DA-9887-F81F213527E6}") IChannelReceiver;
typedef TComInterface<IChannelReceiver, &IID_IChannelReceiver> IChannelReceiverPtr;
interface DECLSPEC_UUID("{7DD6E975-24EA-323C-A98C-0FDE96F9C4E6}") IServerChannelSinkProvider;
typedef TComInterface<IServerChannelSinkProvider, &IID_IServerChannelSinkProvider> IServerChannelSinkProviderPtr;
interface DECLSPEC_UUID("{308DE042-ACC8-32F8-B632-7CB9799D9AA6}") IChannelSinkBase;
typedef TComInterface<IChannelSinkBase, &IID_IChannelSinkBase> IChannelSinkBasePtr;
interface DECLSPEC_UUID("{21B5F37B-BEF3-354C-8F84-0F9F0863F5C5}") IServerChannelSink;
typedef TComInterface<IServerChannelSink, &IID_IServerChannelSink> IServerChannelSinkPtr;
interface DECLSPEC_UUID("{77C9BCEB-9958-33C0-A858-599F66697DA7}") _EnterpriseServicesHelper;
typedef TComInterface<_EnterpriseServicesHelper, &IID__EnterpriseServicesHelper> _EnterpriseServicesHelperPtr;
interface DECLSPEC_UUID("{0D296515-AD19-3602-B415-D8EC77066081}") _Header;
typedef TComInterface<_Header, &IID__Header> _HeaderPtr;
interface DECLSPEC_UUID("{5DBBAF39-A3DF-30B7-AAEA-9FD11394123F}") _HeaderHandler;
typedef TComInterface<_HeaderHandler, &IID__HeaderHandler> _HeaderHandlerPtr;
interface DECLSPEC_UUID("{1A8B0DE6-B825-38C5-B744-8F93075FD6FA}") IMessage;
typedef TComInterface<IMessage, &IID_IMessage> IMessagePtr;
interface DECLSPEC_UUID("{8E5E0B95-750E-310D-892C-8CA7231CF75B}") IMethodMessage;
typedef TComInterface<IMethodMessage, &IID_IMethodMessage> IMethodMessagePtr;
interface DECLSPEC_UUID("{B90EFAA6-25E4-33D2-ACA3-94BF74DC4AB9}") IMethodCallMessage;
typedef TComInterface<IMethodCallMessage, &IID_IMethodCallMessage> IMethodCallMessagePtr;
interface DECLSPEC_UUID("{FA28E3AF-7D09-31D5-BEEB-7F2626497CDE}") IConstructionCallMessage;
typedef TComInterface<IConstructionCallMessage, &IID_IConstructionCallMessage> IConstructionCallMessagePtr;
interface DECLSPEC_UUID("{F617690A-55F4-36AF-9149-D199831F8594}") IMethodReturnMessage;
typedef TComInterface<IMethodReturnMessage, &IID_IMethodReturnMessage> IMethodReturnMessagePtr;
interface DECLSPEC_UUID("{CA0AB564-F5E9-3A7F-A80B-EB0AEEFA44E9}") IConstructionReturnMessage;
typedef TComInterface<IConstructionReturnMessage, &IID_IConstructionReturnMessage> IConstructionReturnMessagePtr;
interface DECLSPEC_UUID("{3A02D3F7-3F40-3022-853D-CFDA765182FE}") IChannelReceiverHook;
typedef TComInterface<IChannelReceiverHook, &IID_IChannelReceiverHook> IChannelReceiverHookPtr;
interface DECLSPEC_UUID("{3F8742C2-AC57-3440-A283-FE5FF4C75025}") IClientChannelSinkProvider;
typedef TComInterface<IClientChannelSinkProvider, &IID_IClientChannelSinkProvider> IClientChannelSinkProviderPtr;
interface DECLSPEC_UUID("{6D94B6F3-DA91-3C2F-B876-083769667468}") IClientFormatterSinkProvider;
typedef TComInterface<IClientFormatterSinkProvider, &IID_IClientFormatterSinkProvider> IClientFormatterSinkProviderPtr;
interface DECLSPEC_UUID("{042B5200-4317-3E4D-B653-7E9A08F1A5F2}") IServerFormatterSinkProvider;
typedef TComInterface<IServerFormatterSinkProvider, &IID_IServerFormatterSinkProvider> IServerFormatterSinkProviderPtr;
interface DECLSPEC_UUID("{FF726320-6B92-3E6C-AAAC-F97063D0B142}") IClientChannelSink;
typedef TComInterface<IClientChannelSink, &IID_IClientChannelSink> IClientChannelSinkPtr;
interface DECLSPEC_UUID("{46527C03-B144-3CF0-86B3-B8776148A6E9}") IClientFormatterSink;
typedef TComInterface<IClientFormatterSink, &IID_IClientFormatterSink> IClientFormatterSinkPtr;
interface DECLSPEC_UUID("{1E250CCD-DC30-3217-A7E4-148F375A0088}") IChannelDataStore;
typedef TComInterface<IChannelDataStore, &IID_IChannelDataStore> IChannelDataStorePtr;
interface DECLSPEC_UUID("{AA6DA581-F972-36DE-A53B-7585428A68AB}") _ChannelDataStore;
typedef TComInterface<_ChannelDataStore, &IID__ChannelDataStore> _ChannelDataStorePtr;
interface DECLSPEC_UUID("{1AC82FBE-4FF0-383C-BBFD-FE40ECB3628D}") ITransportHeaders;
typedef TComInterface<ITransportHeaders, &IID_ITransportHeaders> ITransportHeadersPtr;
interface DECLSPEC_UUID("{65887F70-C646-3A66-8697-8A3F7D8FE94D}") _TransportHeaders;
typedef TComInterface<_TransportHeaders, &IID__TransportHeaders> _TransportHeadersPtr;
interface DECLSPEC_UUID("{A18545B7-E5EE-31EE-9B9B-41199B11C995}") _SinkProviderData;
typedef TComInterface<_SinkProviderData, &IID__SinkProviderData> _SinkProviderDataPtr;
interface DECLSPEC_UUID("{A1329EC9-E567-369F-8258-18366D89EAF8}") _BaseChannelObjectWithProperties;
typedef TComInterface<_BaseChannelObjectWithProperties, &IID__BaseChannelObjectWithProperties> _BaseChannelObjectWithPropertiesPtr;
interface DECLSPEC_UUID("{8AF3451E-154D-3D86-80D8-F8478B9733ED}") _BaseChannelSinkWithProperties;
typedef TComInterface<_BaseChannelSinkWithProperties, &IID__BaseChannelSinkWithProperties> _BaseChannelSinkWithPropertiesPtr;
interface DECLSPEC_UUID("{94BB98ED-18BB-3843-A7FE-642824AB4E01}") _BaseChannelWithProperties;
typedef TComInterface<_BaseChannelWithProperties, &IID__BaseChannelWithProperties> _BaseChannelWithPropertiesPtr;
interface DECLSPEC_UUID("{4DB956B7-69D0-312A-AA75-44FB55FD5D4B}") IContributeClientContextSink;
typedef TComInterface<IContributeClientContextSink, &IID_IContributeClientContextSink> IContributeClientContextSinkPtr;
interface DECLSPEC_UUID("{A0FE9B86-0C06-32CE-85FA-2FF1B58697FB}") IContributeDynamicSink;
typedef TComInterface<IContributeDynamicSink, &IID_IContributeDynamicSink> IContributeDynamicSinkPtr;
interface DECLSPEC_UUID("{124777B6-0308-3569-97E5-E6FE88EAE4EB}") IContributeEnvoySink;
typedef TComInterface<IContributeEnvoySink, &IID_IContributeEnvoySink> IContributeEnvoySinkPtr;
interface DECLSPEC_UUID("{6A5D38BC-2789-3546-81A1-F10C0FB59366}") IContributeObjectSink;
typedef TComInterface<IContributeObjectSink, &IID_IContributeObjectSink> IContributeObjectSinkPtr;
interface DECLSPEC_UUID("{0CAA23EC-F78C-39C9-8D25-B7A9CE4097A7}") IContributeServerContextSink;
typedef TComInterface<IContributeServerContextSink, &IID_IContributeServerContextSink> IContributeServerContextSinkPtr;
interface DECLSPEC_UUID("{00A358D4-4D58-3B9D-8FB6-FB7F6BC1713B}") IDynamicProperty;
typedef TComInterface<IDynamicProperty, &IID_IDynamicProperty> IDynamicPropertyPtr;
interface DECLSPEC_UUID("{C74076BB-8A2D-3C20-A542-625329E9AF04}") IDynamicMessageSink;
typedef TComInterface<IDynamicMessageSink, &IID_IDynamicMessageSink> IDynamicMessageSinkPtr;
interface DECLSPEC_UUID("{53A561F2-CBBF-3748-BFFE-2180002DB3DF}") ILease;
typedef TComInterface<ILease, &IID_ILease> ILeasePtr;
interface DECLSPEC_UUID("{3677CBB0-784D-3C15-BBC8-75CD7DC3901E}") IMessageCtrl;
typedef TComInterface<IMessageCtrl, &IID_IMessageCtrl> IMessageCtrlPtr;
interface DECLSPEC_UUID("{AE1850FD-3596-3727-A242-2FC31C5A0312}") IRemotingFormatter;
typedef TComInterface<IRemotingFormatter, &IID_IRemotingFormatter> IRemotingFormatterPtr;
interface DECLSPEC_UUID("{B0AD9A21-5439-3D88-8975-4018B828D74C}") _LifetimeServices;
typedef TComInterface<_LifetimeServices, &IID__LifetimeServices> _LifetimeServicesPtr;
interface DECLSPEC_UUID("{0EEFF4C2-84BF-3E4E-BF22-B7BDBB5DF899}") _ReturnMessage;
typedef TComInterface<_ReturnMessage, &IID__ReturnMessage> _ReturnMessagePtr;
interface DECLSPEC_UUID("{95E01216-5467-371B-8597-4074402CCB06}") _MethodCall;
typedef TComInterface<_MethodCall, &IID__MethodCall> _MethodCallPtr;
interface DECLSPEC_UUID("{A2246AE7-EB81-3A20-8E70-C9FA341C7E10}") _ConstructionCall;
typedef TComInterface<_ConstructionCall, &IID__ConstructionCall> _ConstructionCallPtr;
interface DECLSPEC_UUID("{9E9EA93A-D000-3AB9-BFCA-DDEB398A55B9}") _MethodResponse;
typedef TComInterface<_MethodResponse, &IID__MethodResponse> _MethodResponsePtr;
interface DECLSPEC_UUID("{CC18FD4D-AA2D-3AB4-9848-584BBAE4AB44}") IFieldInfo;
typedef TComInterface<IFieldInfo, &IID_IFieldInfo> IFieldInfoPtr;
interface DECLSPEC_UUID("{BE457280-6FFA-3E76-9822-83DE63C0C4E0}") _ConstructionResponse;
typedef TComInterface<_ConstructionResponse, &IID__ConstructionResponse> _ConstructionResponsePtr;
interface DECLSPEC_UUID("{EF926E1F-3EE7-32BC-8B01-C6E98C24BC19}") _InternalMessageWrapper;
typedef TComInterface<_InternalMessageWrapper, &IID__InternalMessageWrapper> _InternalMessageWrapperPtr;
interface DECLSPEC_UUID("{C9614D78-10EA-3310-87EA-821B70632898}") _MethodCallMessageWrapper;
typedef TComInterface<_MethodCallMessageWrapper, &IID__MethodCallMessageWrapper> _MethodCallMessageWrapperPtr;
interface DECLSPEC_UUID("{89304439-A24F-30F6-9A8F-89CE472D85DA}") _MethodReturnMessageWrapper;
typedef TComInterface<_MethodReturnMessageWrapper, &IID__MethodReturnMessageWrapper> _MethodReturnMessageWrapperPtr;
interface DECLSPEC_UUID("{EA675B47-64E0-3B5F-9BE7-F7DC2990730D}") _ObjectHandle;
typedef TComInterface<_ObjectHandle, &IID__ObjectHandle> _ObjectHandlePtr;
interface DECLSPEC_UUID("{C09EFFA9-1FFE-3A52-A733-6236CBC45E7B}") IRemotingTypeInfo;
typedef TComInterface<IRemotingTypeInfo, &IID_IRemotingTypeInfo> IRemotingTypeInfoPtr;
interface DECLSPEC_UUID("{855E6566-014A-3FE8-AA70-1EAC771E3A88}") IChannelInfo;
typedef TComInterface<IChannelInfo, &IID_IChannelInfo> IChannelInfoPtr;
interface DECLSPEC_UUID("{2A6E91B9-A874-38E4-99C2-C5D83D78140D}") IEnvoyInfo;
typedef TComInterface<IEnvoyInfo, &IID_IEnvoyInfo> IEnvoyInfoPtr;
interface DECLSPEC_UUID("{1DD3CF3D-DF8E-32FF-91EC-E19AA10B63FB}") _ObjRef;
typedef TComInterface<_ObjRef, &IID__ObjRef> _ObjRefPtr;
interface DECLSPEC_UUID("{8FFEDC68-5233-3FA8-813D-405AABB33ECB}") _OneWayAttribute;
typedef TComInterface<_OneWayAttribute, &IID__OneWayAttribute> _OneWayAttributePtr;
interface DECLSPEC_UUID("{D80FF312-2930-3680-A5E9-B48296C7415F}") _ProxyAttribute;
typedef TComInterface<_ProxyAttribute, &IID__ProxyAttribute> _ProxyAttributePtr;
interface DECLSPEC_UUID("{E0CF3F77-C7C3-33DA-BEB4-46147FC905DE}") _RealProxy;
typedef TComInterface<_RealProxy, &IID__RealProxy> _RealProxyPtr;
interface DECLSPEC_UUID("{725692A5-9E12-37F6-911C-E3DA77E5FACA}") _SoapAttribute;
typedef TComInterface<_SoapAttribute, &IID__SoapAttribute> _SoapAttributePtr;
interface DECLSPEC_UUID("{EBCDCD84-8C74-39FD-821C-F5EB3A2704D7}") _SoapTypeAttribute;
typedef TComInterface<_SoapTypeAttribute, &IID__SoapTypeAttribute> _SoapTypeAttributePtr;
interface DECLSPEC_UUID("{C58145B5-BD5A-3896-95D9-B358F54FBC44}") _SoapMethodAttribute;
typedef TComInterface<_SoapMethodAttribute, &IID__SoapMethodAttribute> _SoapMethodAttributePtr;
interface DECLSPEC_UUID("{46A3F9FF-F73C-33C7-BCC3-1BEF4B25E4AE}") _SoapFieldAttribute;
typedef TComInterface<_SoapFieldAttribute, &IID__SoapFieldAttribute> _SoapFieldAttributePtr;
interface DECLSPEC_UUID("{C32ABFC9-3917-30BF-A7BC-44250BDFC5D8}") _SoapParameterAttribute;
typedef TComInterface<_SoapParameterAttribute, &IID__SoapParameterAttribute> _SoapParameterAttributePtr;
interface DECLSPEC_UUID("{4B10971E-D61D-373F-BC8D-2CCF31126215}") _RemotingConfiguration;
typedef TComInterface<_RemotingConfiguration, &IID__RemotingConfiguration> _RemotingConfigurationPtr;
interface DECLSPEC_UUID("{8359F3AB-643F-3BCF-91E8-16E779EDEBE1}") _TypeEntry;
typedef TComInterface<_TypeEntry, &IID__TypeEntry> _TypeEntryPtr;
interface DECLSPEC_UUID("{BAC12781-6865-3558-A8D1-F1CADD2806DD}") _ActivatedClientTypeEntry;
typedef TComInterface<_ActivatedClientTypeEntry, &IID__ActivatedClientTypeEntry> _ActivatedClientTypeEntryPtr;
interface DECLSPEC_UUID("{94855A3B-5CA2-32CF-B1AB-48FD3915822C}") _ActivatedServiceTypeEntry;
typedef TComInterface<_ActivatedServiceTypeEntry, &IID__ActivatedServiceTypeEntry> _ActivatedServiceTypeEntryPtr;
interface DECLSPEC_UUID("{4D0BC339-E3F9-3E9E-8F68-92168E6F6981}") _WellKnownClientTypeEntry;
typedef TComInterface<_WellKnownClientTypeEntry, &IID__WellKnownClientTypeEntry> _WellKnownClientTypeEntryPtr;
interface DECLSPEC_UUID("{60B8B604-0AED-3093-AC05-EB98FB29FC47}") _WellKnownServiceTypeEntry;
typedef TComInterface<_WellKnownServiceTypeEntry, &IID__WellKnownServiceTypeEntry> _WellKnownServiceTypeEntryPtr;
interface DECLSPEC_UUID("{7264843F-F60C-39A9-99E1-029126AA0815}") _RemotingException;
typedef TComInterface<_RemotingException, &IID__RemotingException> _RemotingExceptionPtr;
interface DECLSPEC_UUID("{19373C44-55B4-3487-9AD8-4C621AAE85EA}") _ServerException;
typedef TComInterface<_ServerException, &IID__ServerException> _ServerExceptionPtr;
interface DECLSPEC_UUID("{44DB8E15-ACB1-34EE-81F9-56ED7AE37A5C}") _RemotingTimeoutException;
typedef TComInterface<_RemotingTimeoutException, &IID__RemotingTimeoutException> _RemotingTimeoutExceptionPtr;
interface DECLSPEC_UUID("{7B91368D-A50A-3D36-BE8E-5B8836A419AD}") _RemotingServices;
typedef TComInterface<_RemotingServices, &IID__RemotingServices> _RemotingServicesPtr;
interface DECLSPEC_UUID("{F4EFB305-CDC4-31C5-8102-33C9B91774F3}") _InternalRemotingServices;
typedef TComInterface<_InternalRemotingServices, &IID__InternalRemotingServices> _InternalRemotingServicesPtr;
interface DECLSPEC_UUID("{04A35D22-0B08-34E7-A573-88EF2374375E}") _MessageSurrogateFilter;
typedef TComInterface<_MessageSurrogateFilter, &IID__MessageSurrogateFilter> _MessageSurrogateFilterPtr;
interface DECLSPEC_UUID("{551F7A57-8651-37DB-A94A-6A3CA09C0ED7}") _RemotingSurrogateSelector;
typedef TComInterface<_RemotingSurrogateSelector, &IID__RemotingSurrogateSelector> _RemotingSurrogateSelectorPtr;
interface DECLSPEC_UUID("{7416B6EE-82E8-3A16-966B-018A40E7B1AA}") _SoapServices;
typedef TComInterface<_SoapServices, &IID__SoapServices> _SoapServicesPtr;
interface DECLSPEC_UUID("{80031D2A-AD59-3FB4-97F3-B864D71DA86B}") ISoapXsd;
typedef TComInterface<ISoapXsd, &IID_ISoapXsd> ISoapXsdPtr;
interface DECLSPEC_UUID("{1738ADBC-156E-3897-844F-C3147C528DEA}") _SoapDateTime;
typedef TComInterface<_SoapDateTime, &IID__SoapDateTime> _SoapDateTimePtr;
interface DECLSPEC_UUID("{7EF50DDB-32A5-30A1-B412-47FAB911404A}") _SoapDuration;
typedef TComInterface<_SoapDuration, &IID__SoapDuration> _SoapDurationPtr;
interface DECLSPEC_UUID("{A3BF0BCD-EC32-38E6-92F2-5F37BAD8030D}") _SoapTime;
typedef TComInterface<_SoapTime, &IID__SoapTime> _SoapTimePtr;
interface DECLSPEC_UUID("{CFA6E9D2-B3DE-39A6-94D1-CC691DE193F8}") _SoapDate;
typedef TComInterface<_SoapDate, &IID__SoapDate> _SoapDatePtr;
interface DECLSPEC_UUID("{103C7EF9-A9EE-35FB-84C5-3086C9725A20}") _SoapYearMonth;
typedef TComInterface<_SoapYearMonth, &IID__SoapYearMonth> _SoapYearMonthPtr;
interface DECLSPEC_UUID("{C20769F3-858D-316A-BE6D-C347A47948AD}") _SoapYear;
typedef TComInterface<_SoapYear, &IID__SoapYear> _SoapYearPtr;
interface DECLSPEC_UUID("{F9EAD0AA-4156-368F-AE05-FD59D70F758D}") _SoapMonthDay;
typedef TComInterface<_SoapMonthDay, &IID__SoapMonthDay> _SoapMonthDayPtr;
interface DECLSPEC_UUID("{D9E8314D-5053-3497-8A33-97D3DCFE33E2}") _SoapDay;
typedef TComInterface<_SoapDay, &IID__SoapDay> _SoapDayPtr;
interface DECLSPEC_UUID("{B4E32423-E473-3562-AA12-62FDE5A7D4A2}") _SoapMonth;
typedef TComInterface<_SoapMonth, &IID__SoapMonth> _SoapMonthPtr;
interface DECLSPEC_UUID("{63B9DA95-FB91-358A-B7B7-90C34AA34AB7}") _SoapHexBinary;
typedef TComInterface<_SoapHexBinary, &IID__SoapHexBinary> _SoapHexBinaryPtr;
interface DECLSPEC_UUID("{8ED115A1-5E7B-34DC-AB85-90316F28015D}") _SoapBase64Binary;
typedef TComInterface<_SoapBase64Binary, &IID__SoapBase64Binary> _SoapBase64BinaryPtr;
interface DECLSPEC_UUID("{30C65C40-4E54-3051-9D8F-4709B6AB214C}") _SoapInteger;
typedef TComInterface<_SoapInteger, &IID__SoapInteger> _SoapIntegerPtr;
interface DECLSPEC_UUID("{4979EC29-C2B7-3AD6-986D-5AAF7344CC4E}") _SoapPositiveInteger;
typedef TComInterface<_SoapPositiveInteger, &IID__SoapPositiveInteger> _SoapPositiveIntegerPtr;
interface DECLSPEC_UUID("{AAF5401E-F71C-3FE3-8A73-A25074B20D3A}") _SoapNonPositiveInteger;
typedef TComInterface<_SoapNonPositiveInteger, &IID__SoapNonPositiveInteger> _SoapNonPositiveIntegerPtr;
interface DECLSPEC_UUID("{BC261FC6-7132-3FB5-9AAC-224845D3AA99}") _SoapNonNegativeInteger;
typedef TComInterface<_SoapNonNegativeInteger, &IID__SoapNonNegativeInteger> _SoapNonNegativeIntegerPtr;
interface DECLSPEC_UUID("{E384AA10-A70C-3943-97CF-0F7C282C3BDC}") _SoapNegativeInteger;
typedef TComInterface<_SoapNegativeInteger, &IID__SoapNegativeInteger> _SoapNegativeIntegerPtr;
interface DECLSPEC_UUID("{818EC118-BE7E-3CDE-92C8-44B99160920E}") _SoapAnyUri;
typedef TComInterface<_SoapAnyUri, &IID__SoapAnyUri> _SoapAnyUriPtr;
interface DECLSPEC_UUID("{3AC646B6-6B84-382F-9AED-22C2433244E6}") _SoapQName;
typedef TComInterface<_SoapQName, &IID__SoapQName> _SoapQNamePtr;
interface DECLSPEC_UUID("{974F01F4-6086-3137-9448-6A31FC9BEF08}") _SoapNotation;
typedef TComInterface<_SoapNotation, &IID__SoapNotation> _SoapNotationPtr;
interface DECLSPEC_UUID("{F4926B50-3F23-37E0-9AFA-AA91FF89A7BD}") _SoapNormalizedString;
typedef TComInterface<_SoapNormalizedString, &IID__SoapNormalizedString> _SoapNormalizedStringPtr;
interface DECLSPEC_UUID("{AB4E97B9-651D-36F4-AABA-28ACF5746624}") _SoapToken;
typedef TComInterface<_SoapToken, &IID__SoapToken> _SoapTokenPtr;
interface DECLSPEC_UUID("{14AED851-A168-3462-B877-8F9A01126653}") _SoapLanguage;
typedef TComInterface<_SoapLanguage, &IID__SoapLanguage> _SoapLanguagePtr;
interface DECLSPEC_UUID("{5EB06BEF-4ADF-3CC1-A6F2-62F76886B13A}") _SoapName;
typedef TComInterface<_SoapName, &IID__SoapName> _SoapNamePtr;
interface DECLSPEC_UUID("{7947A829-ADB5-34D0-9CC8-6C172742C803}") _SoapIdrefs;
typedef TComInterface<_SoapIdrefs, &IID__SoapIdrefs> _SoapIdrefsPtr;
interface DECLSPEC_UUID("{ACA96DA3-96ED-397E-8A72-EE1BE1025F5E}") _SoapEntities;
typedef TComInterface<_SoapEntities, &IID__SoapEntities> _SoapEntitiesPtr;
interface DECLSPEC_UUID("{E941FA15-E6C8-3DD4-B060-C0DDFBC0240A}") _SoapNmtoken;
typedef TComInterface<_SoapNmtoken, &IID__SoapNmtoken> _SoapNmtokenPtr;
interface DECLSPEC_UUID("{A5E385AE-27FB-3708-BAF7-0BF1F3955747}") _SoapNmtokens;
typedef TComInterface<_SoapNmtokens, &IID__SoapNmtokens> _SoapNmtokensPtr;
interface DECLSPEC_UUID("{725CDAF7-B739-35C1-8463-E2A923E1F618}") _SoapNcName;
typedef TComInterface<_SoapNcName, &IID__SoapNcName> _SoapNcNamePtr;
interface DECLSPEC_UUID("{6A46B6A2-2D2C-3C67-AF67-AAE0175F17AE}") _SoapId;
typedef TComInterface<_SoapId, &IID__SoapId> _SoapIdPtr;
interface DECLSPEC_UUID("{7DB7FD83-DE89-38E1-9645-D4CABDE694C0}") _SoapIdref;
typedef TComInterface<_SoapIdref, &IID__SoapIdref> _SoapIdrefPtr;
interface DECLSPEC_UUID("{37171746-B784-3586-A7D5-692A7604A66B}") _SoapEntity;
typedef TComInterface<_SoapEntity, &IID__SoapEntity> _SoapEntityPtr;
interface DECLSPEC_UUID("{2D985674-231C-33D4-B14D-F3A6BD2EBE19}") _SynchronizationAttribute;
typedef TComInterface<_SynchronizationAttribute, &IID__SynchronizationAttribute> _SynchronizationAttributePtr;
interface DECLSPEC_UUID("{03EC7D10-17A5-3585-9A2E-0596FCAC3870}") ITrackingHandler;
typedef TComInterface<ITrackingHandler, &IID_ITrackingHandler> ITrackingHandlerPtr;
interface DECLSPEC_UUID("{F51728F2-2DEF-308C-874A-CBB1BAA9CF9E}") _TrackingServices;
typedef TComInterface<_TrackingServices, &IID__TrackingServices> _TrackingServicesPtr;
interface DECLSPEC_UUID("{717105A3-739B-3BC3-A2B7-AD215903FAD2}") _UrlAttribute;
typedef TComInterface<_UrlAttribute, &IID__UrlAttribute> _UrlAttributePtr;
interface DECLSPEC_UUID("{34EC3BD7-F2F6-3C20-A639-804BFF89DF65}") _IsolatedStorage;
typedef TComInterface<_IsolatedStorage, &IID__IsolatedStorage> _IsolatedStoragePtr;
interface DECLSPEC_UUID("{6BBB7DEE-186F-3D51-9486-BE0A71E915CE}") _IsolatedStorageFile;
typedef TComInterface<_IsolatedStorageFile, &IID__IsolatedStorageFile> _IsolatedStorageFilePtr;
interface DECLSPEC_UUID("{68D5592B-47C8-381A-8D51-3925C16CF025}") _IsolatedStorageFileStream;
typedef TComInterface<_IsolatedStorageFileStream, &IID__IsolatedStorageFileStream> _IsolatedStorageFileStreamPtr;
interface DECLSPEC_UUID("{AEC2B0DE-9898-3607-B845-63E2E307CB5F}") _IsolatedStorageException;
typedef TComInterface<_IsolatedStorageException, &IID__IsolatedStorageException> _IsolatedStorageExceptionPtr;
interface DECLSPEC_UUID("{F5006531-D4D7-319E-9EDA-9B4B65AD8D4F}") INormalizeForIsolatedStorage;
typedef TComInterface<INormalizeForIsolatedStorage, &IID_INormalizeForIsolatedStorage> INormalizeForIsolatedStoragePtr;
interface DECLSPEC_UUID("{E699146C-7793-3455-9BEF-964C90D8F995}") ISoapMessage;
typedef TComInterface<ISoapMessage, &IID_ISoapMessage> ISoapMessagePtr;
interface DECLSPEC_UUID("{361A5049-1BC8-35A9-946A-53A877902F25}") _InternalRM;
typedef TComInterface<_InternalRM, &IID__InternalRM> _InternalRMPtr;
interface DECLSPEC_UUID("{A864FB13-F945-3DC0-A01C-B903F944FC97}") _InternalST;
typedef TComInterface<_InternalST, &IID__InternalST> _InternalSTPtr;
interface DECLSPEC_UUID("{BC0847B2-BD5C-37B3-BA67-7D2D54B17238}") _SoapMessage;
typedef TComInterface<_SoapMessage, &IID__SoapMessage> _SoapMessagePtr;
interface DECLSPEC_UUID("{A1C392FC-314C-39D5-8DE6-1F8EBCA0A1E2}") _SoapFault;
typedef TComInterface<_SoapFault, &IID__SoapFault> _SoapFaultPtr;
interface DECLSPEC_UUID("{02D1BD78-3BB6-37AD-A9F8-F7D5DA273E4E}") _ServerFault;
typedef TComInterface<_ServerFault, &IID__ServerFault> _ServerFaultPtr;
interface DECLSPEC_UUID("{3BCF0CB2-A849-375E-8189-1BA5F1F4A9B0}") _BinaryFormatter;
typedef TComInterface<_BinaryFormatter, &IID__BinaryFormatter> _BinaryFormatterPtr;
interface DECLSPEC_UUID("{BEBB2505-8B54-3443-AEAD-142A16DD9CC7}") _AssemblyBuilder;
typedef TComInterface<_AssemblyBuilder, &IID__AssemblyBuilder> _AssemblyBuilderPtr;
interface DECLSPEC_UUID("{ED3E4384-D7E2-3FA7-8FFD-8940D330519A}") _ConstructorBuilder;
typedef TComInterface<_ConstructorBuilder, &IID__ConstructorBuilder> _ConstructorBuilderPtr;
interface DECLSPEC_UUID("{BE9ACCE8-AAFF-3B91-81AE-8211663F5CAD}") _CustomAttributeBuilder;
typedef TComInterface<_CustomAttributeBuilder, &IID__CustomAttributeBuilder> _CustomAttributeBuilderPtr;
interface DECLSPEC_UUID("{C7BD73DE-9F85-3290-88EE-090B8BDFE2DF}") _EnumBuilder;
typedef TComInterface<_EnumBuilder, &IID__EnumBuilder> _EnumBuilderPtr;
interface DECLSPEC_UUID("{AADABA99-895D-3D65-9760-B1F12621FAE8}") _EventBuilder;
typedef TComInterface<_EventBuilder, &IID__EventBuilder> _EventBuilderPtr;
interface DECLSPEC_UUID("{CE1A3BF5-975E-30CC-97C9-1EF70F8F3993}") _FieldBuilder;
typedef TComInterface<_FieldBuilder, &IID__FieldBuilder> _FieldBuilderPtr;
interface DECLSPEC_UUID("{A4924B27-6E3B-37F7-9B83-A4501955E6A7}") _ILGenerator;
typedef TComInterface<_ILGenerator, &IID__ILGenerator> _ILGeneratorPtr;
interface DECLSPEC_UUID("{4E6350D1-A08B-3DEC-9A3E-C465F9AEEC0C}") _LocalBuilder;
typedef TComInterface<_LocalBuilder, &IID__LocalBuilder> _LocalBuilderPtr;
interface DECLSPEC_UUID("{007D8A14-FDF3-363E-9A0B-FEC0618260A2}") _MethodBuilder;
typedef TComInterface<_MethodBuilder, &IID__MethodBuilder> _MethodBuilderPtr;
interface DECLSPEC_UUID("{C2323C25-F57F-3880-8A4D-12EBEA7A5852}") _MethodRental;
typedef TComInterface<_MethodRental, &IID__MethodRental> _MethodRentalPtr;
interface DECLSPEC_UUID("{D05FFA9A-04AF-3519-8EE1-8D93AD73430B}") _ModuleBuilder;
typedef TComInterface<_ModuleBuilder, &IID__ModuleBuilder> _ModuleBuilderPtr;
interface DECLSPEC_UUID("{36329EBA-F97A-3565-BC07-0ED5C6EF19FC}") _ParameterBuilder;
typedef TComInterface<_ParameterBuilder, &IID__ParameterBuilder> _ParameterBuilderPtr;
interface DECLSPEC_UUID("{15F9A479-9397-3A63-ACBD-F51977FB0F02}") _PropertyBuilder;
typedef TComInterface<_PropertyBuilder, &IID__PropertyBuilder> _PropertyBuilderPtr;
interface DECLSPEC_UUID("{7D13DD37-5A04-393C-BBCA-A5FEA802893D}") _SignatureHelper;
typedef TComInterface<_SignatureHelper, &IID__SignatureHelper> _SignatureHelperPtr;
interface DECLSPEC_UUID("{7E5678EE-48B3-3F83-B076-C58543498A58}") _TypeBuilder;
typedef TComInterface<_TypeBuilder, &IID__TypeBuilder> _TypeBuilderPtr;
interface DECLSPEC_UUID("{0DAEAEE7-007B-3FCA-8755-A5C6C3158955}") _DynamicILInfo;
typedef TComInterface<_DynamicILInfo, &IID__DynamicILInfo> _DynamicILInfoPtr;
interface DECLSPEC_UUID("{EAAA2670-0FB1-33EA-852B-F1C97FED1797}") _DynamicMethod;
typedef TComInterface<_DynamicMethod, &IID__DynamicMethod> _DynamicMethodPtr;
interface DECLSPEC_UUID("{1DB1CC2A-DA73-389E-828B-5C616F4FAC49}") _OpCodes;
typedef TComInterface<_OpCodes, &IID__OpCodes> _OpCodesPtr;
interface DECLSPEC_UUID("{B1A62835-FC19-35A4-B206-A452463D7EE7}") _GenericTypeParameterBuilder;
typedef TComInterface<_GenericTypeParameterBuilder, &IID__GenericTypeParameterBuilder> _GenericTypeParameterBuilderPtr;
interface DECLSPEC_UUID("{FD302D86-240A-3694-A31F-9EF59E6E41BC}") _UnmanagedMarshal;
typedef TComInterface<_UnmanagedMarshal, &IID__UnmanagedMarshal> _UnmanagedMarshalPtr;
interface DECLSPEC_UUID("{8978B0BE-A89E-3FF9-9834-77862CEBFF3D}") _KeySizes;
typedef TComInterface<_KeySizes, &IID__KeySizes> _KeySizesPtr;
interface DECLSPEC_UUID("{4311E8F5-B249-3F81-8FF4-CF853D85306D}") _CryptographicException;
typedef TComInterface<_CryptographicException, &IID__CryptographicException> _CryptographicExceptionPtr;
interface DECLSPEC_UUID("{7FB08423-038F-3ACC-B600-E6D072BAE160}") _CryptographicUnexpectedOperationException;
typedef TComInterface<_CryptographicUnexpectedOperationException, &IID__CryptographicUnexpectedOperationException> _CryptographicUnexpectedOperationExceptionPtr;
interface DECLSPEC_UUID("{8ABAD867-F515-3CF6-BB62-5F0C88B3BB11}") ICryptoTransform;
typedef TComInterface<ICryptoTransform, &IID_ICryptoTransform> ICryptoTransformPtr;
interface DECLSPEC_UUID("{7AE4B03C-414A-36E0-BA68-F9603004C925}") _RandomNumberGenerator;
typedef TComInterface<_RandomNumberGenerator, &IID__RandomNumberGenerator> _RandomNumberGeneratorPtr;
interface DECLSPEC_UUID("{2C65D4C0-584C-3E4E-8E6D-1AFB112BFF69}") _RNGCryptoServiceProvider;
typedef TComInterface<_RNGCryptoServiceProvider, &IID__RNGCryptoServiceProvider> _RNGCryptoServiceProviderPtr;
interface DECLSPEC_UUID("{09343AC0-D19A-3E62-BC16-0F600F10180A}") _AsymmetricAlgorithm;
typedef TComInterface<_AsymmetricAlgorithm, &IID__AsymmetricAlgorithm> _AsymmetricAlgorithmPtr;
interface DECLSPEC_UUID("{B6685CCA-7A49-37D1-A805-3DE829CB8DEB}") _AsymmetricKeyExchangeDeformatter;
typedef TComInterface<_AsymmetricKeyExchangeDeformatter, &IID__AsymmetricKeyExchangeDeformatter> _AsymmetricKeyExchangeDeformatterPtr;
interface DECLSPEC_UUID("{1365B84B-6477-3C40-BE6A-089DC01ECED9}") _AsymmetricKeyExchangeFormatter;
typedef TComInterface<_AsymmetricKeyExchangeFormatter, &IID__AsymmetricKeyExchangeFormatter> _AsymmetricKeyExchangeFormatterPtr;
interface DECLSPEC_UUID("{7CA5FE57-D1AC-3064-BB0B-F450BE40F194}") _AsymmetricSignatureDeformatter;
typedef TComInterface<_AsymmetricSignatureDeformatter, &IID__AsymmetricSignatureDeformatter> _AsymmetricSignatureDeformatterPtr;
interface DECLSPEC_UUID("{5363D066-6295-3618-BE33-3F0B070B7976}") _AsymmetricSignatureFormatter;
typedef TComInterface<_AsymmetricSignatureFormatter, &IID__AsymmetricSignatureFormatter> _AsymmetricSignatureFormatterPtr;
interface DECLSPEC_UUID("{23DED1E1-7D5F-3936-AA4E-18BBCC39B155}") _ToBase64Transform;
typedef TComInterface<_ToBase64Transform, &IID__ToBase64Transform> _ToBase64TransformPtr;
interface DECLSPEC_UUID("{FC0717A6-2E86-372F-81F4-B35ED4BDF0DE}") _FromBase64Transform;
typedef TComInterface<_FromBase64Transform, &IID__FromBase64Transform> _FromBase64TransformPtr;
interface DECLSPEC_UUID("{983B8639-2ED7-364C-9899-682ABB2CE850}") _CryptoAPITransform;
typedef TComInterface<_CryptoAPITransform, &IID__CryptoAPITransform> _CryptoAPITransformPtr;
interface DECLSPEC_UUID("{D5331D95-FFF2-358F-AFD5-588F469FF2E4}") _CspParameters;
typedef TComInterface<_CspParameters, &IID__CspParameters> _CspParametersPtr;
interface DECLSPEC_UUID("{AB00F3F8-7DDE-3FF5-B805-6C5DBB200549}") _CryptoConfig;
typedef TComInterface<_CryptoConfig, &IID__CryptoConfig> _CryptoConfigPtr;
interface DECLSPEC_UUID("{4134F762-D0EC-3210-93C0-DE4F443D5669}") _CryptoStream;
typedef TComInterface<_CryptoStream, &IID__CryptoStream> _CryptoStreamPtr;
interface DECLSPEC_UUID("{05BC0E38-7136-3825-9E34-26C1CF2142C9}") _SymmetricAlgorithm;
typedef TComInterface<_SymmetricAlgorithm, &IID__SymmetricAlgorithm> _SymmetricAlgorithmPtr;
interface DECLSPEC_UUID("{C7EF0214-B91C-3799-98DD-C994AABFC741}") _DES;
typedef TComInterface<_DES, &IID__DES> _DESPtr;
interface DECLSPEC_UUID("{65E8495E-5207-3248-9250-0FC849B4F096}") _DESCryptoServiceProvider;
typedef TComInterface<_DESCryptoServiceProvider, &IID__DESCryptoServiceProvider> _DESCryptoServiceProviderPtr;
interface DECLSPEC_UUID("{140EE78F-067F-3765-9258-C3BC72FE976B}") _DeriveBytes;
typedef TComInterface<_DeriveBytes, &IID__DeriveBytes> _DeriveBytesPtr;
interface DECLSPEC_UUID("{0EB5B5E0-1BE6-3A5F-87B3-E3323342F44E}") _DSA;
typedef TComInterface<_DSA, &IID__DSA> _DSAPtr;
interface DECLSPEC_UUID("{494A7583-190E-3693-9EC4-DE54DC6A84A2}") ICspAsymmetricAlgorithm;
typedef TComInterface<ICspAsymmetricAlgorithm, &IID_ICspAsymmetricAlgorithm> ICspAsymmetricAlgorithmPtr;
interface DECLSPEC_UUID("{1F38AAFE-7502-332F-971F-C2FC700A1D55}") _DSACryptoServiceProvider;
typedef TComInterface<_DSACryptoServiceProvider, &IID__DSACryptoServiceProvider> _DSACryptoServiceProviderPtr;
interface DECLSPEC_UUID("{0E774498-ADE6-3820-B1D5-426B06397BE7}") _DSASignatureDeformatter;
typedef TComInterface<_DSASignatureDeformatter, &IID__DSASignatureDeformatter> _DSASignatureDeformatterPtr;
interface DECLSPEC_UUID("{4B5FC561-5983-31E4-903B-1404231B2C89}") _DSASignatureFormatter;
typedef TComInterface<_DSASignatureFormatter, &IID__DSASignatureFormatter> _DSASignatureFormatterPtr;
interface DECLSPEC_UUID("{69D3BABA-1C3D-354C-ACFE-F19109EC3896}") _HashAlgorithm;
typedef TComInterface<_HashAlgorithm, &IID__HashAlgorithm> _HashAlgorithmPtr;
interface DECLSPEC_UUID("{D182CF91-628C-3FF6-87F0-41BA51CC7433}") _KeyedHashAlgorithm;
typedef TComInterface<_KeyedHashAlgorithm, &IID__KeyedHashAlgorithm> _KeyedHashAlgorithmPtr;
interface DECLSPEC_UUID("{E5456726-33F6-34E4-95C2-DB2BFA581462}") _HMAC;
typedef TComInterface<_HMAC, &IID__HMAC> _HMACPtr;
interface DECLSPEC_UUID("{486360F5-6213-322B-BEFB-45221579D4AF}") _HMACMD5;
typedef TComInterface<_HMACMD5, &IID__HMACMD5> _HMACMD5Ptr;
interface DECLSPEC_UUID("{9FD974A5-338C-37B9-A1B2-D45F0C2B25C2}") _HMACRIPEMD160;
typedef TComInterface<_HMACRIPEMD160, &IID__HMACRIPEMD160> _HMACRIPEMD160Ptr;
interface DECLSPEC_UUID("{63AC7C37-C51A-3D82-8FDD-2A567039E46D}") _HMACSHA1;
typedef TComInterface<_HMACSHA1, &IID__HMACSHA1> _HMACSHA1Ptr;
interface DECLSPEC_UUID("{1377CE34-8921-3BD4-96E9-C8D5D5AA1ADF}") _HMACSHA256;
typedef TComInterface<_HMACSHA256, &IID__HMACSHA256> _HMACSHA256Ptr;
interface DECLSPEC_UUID("{786F8AC3-93E4-3B6F-9F62-1901B0E5F433}") _HMACSHA384;
typedef TComInterface<_HMACSHA384, &IID__HMACSHA384> _HMACSHA384Ptr;
interface DECLSPEC_UUID("{EB081B9D-A766-3ABE-B720-505C42162D83}") _HMACSHA512;
typedef TComInterface<_HMACSHA512, &IID__HMACSHA512> _HMACSHA512Ptr;
interface DECLSPEC_UUID("{BE8619CB-3731-3CB2-A3A8-CD0BFA5566EC}") _CspKeyContainerInfo;
typedef TComInterface<_CspKeyContainerInfo, &IID__CspKeyContainerInfo> _CspKeyContainerInfoPtr;
interface DECLSPEC_UUID("{1CAC0BDA-AC58-31BC-B624-63F77D0C3D2F}") _MACTripleDES;
typedef TComInterface<_MACTripleDES, &IID__MACTripleDES> _MACTripleDESPtr;
interface DECLSPEC_UUID("{9AA8765E-69A0-30E3-9CDE-EBC70662AE37}") _MD5;
typedef TComInterface<_MD5, &IID__MD5> _MD5Ptr;
interface DECLSPEC_UUID("{D3F5C812-5867-33C9-8CEE-CB170E8D844A}") _MD5CryptoServiceProvider;
typedef TComInterface<_MD5CryptoServiceProvider, &IID__MD5CryptoServiceProvider> _MD5CryptoServiceProviderPtr;
interface DECLSPEC_UUID("{85601FEE-A79D-3710-AF21-099089EDC0BF}") _MaskGenerationMethod;
typedef TComInterface<_MaskGenerationMethod, &IID__MaskGenerationMethod> _MaskGenerationMethodPtr;
interface DECLSPEC_UUID("{3CD62D67-586F-309E-A6D8-1F4BAAC5AC28}") _PasswordDeriveBytes;
typedef TComInterface<_PasswordDeriveBytes, &IID__PasswordDeriveBytes> _PasswordDeriveBytesPtr;
interface DECLSPEC_UUID("{425BFF0D-59E4-36A8-B1FF-1F5D39D698F4}") _PKCS1MaskGenerationMethod;
typedef TComInterface<_PKCS1MaskGenerationMethod, &IID__PKCS1MaskGenerationMethod> _PKCS1MaskGenerationMethodPtr;
interface DECLSPEC_UUID("{F7C0C4CC-0D49-31EE-A3D3-B8B551E4928C}") _RC2;
typedef TComInterface<_RC2, &IID__RC2> _RC2Ptr;
interface DECLSPEC_UUID("{875715C5-CB64-3920-8156-0EE9CB0E07EA}") _RC2CryptoServiceProvider;
typedef TComInterface<_RC2CryptoServiceProvider, &IID__RC2CryptoServiceProvider> _RC2CryptoServiceProviderPtr;
interface DECLSPEC_UUID("{A6589897-5A67-305F-9497-72E5FE8BEAD5}") _Rfc2898DeriveBytes;
typedef TComInterface<_Rfc2898DeriveBytes, &IID__Rfc2898DeriveBytes> _Rfc2898DeriveBytesPtr;
interface DECLSPEC_UUID("{E5481BE9-3422-3506-BC35-B96D4535014D}") _RIPEMD160;
typedef TComInterface<_RIPEMD160, &IID__RIPEMD160> _RIPEMD160Ptr;
interface DECLSPEC_UUID("{814F9C35-B7F8-3CEB-8E43-E01F09157060}") _RIPEMD160Managed;
typedef TComInterface<_RIPEMD160Managed, &IID__RIPEMD160Managed> _RIPEMD160ManagedPtr;
interface DECLSPEC_UUID("{0B3FB710-A25C-3310-8774-1CF117F95BD4}") _RSA;
typedef TComInterface<_RSA, &IID__RSA> _RSAPtr;
interface DECLSPEC_UUID("{BD9DF856-2300-3254-BCF0-679BA03C7A13}") _RSACryptoServiceProvider;
typedef TComInterface<_RSACryptoServiceProvider, &IID__RSACryptoServiceProvider> _RSACryptoServiceProviderPtr;
interface DECLSPEC_UUID("{37625095-7BAA-377D-A0DC-7F465C0167AA}") _RSAOAEPKeyExchangeDeformatter;
typedef TComInterface<_RSAOAEPKeyExchangeDeformatter, &IID__RSAOAEPKeyExchangeDeformatter> _RSAOAEPKeyExchangeDeformatterPtr;
interface DECLSPEC_UUID("{77A416E7-2AC6-3D0E-98FF-3BA0F586F56F}") _RSAOAEPKeyExchangeFormatter;
typedef TComInterface<_RSAOAEPKeyExchangeFormatter, &IID__RSAOAEPKeyExchangeFormatter> _RSAOAEPKeyExchangeFormatterPtr;
interface DECLSPEC_UUID("{8034AAF4-3666-3B6F-85CF-463F9BFD31A9}") _RSAPKCS1KeyExchangeDeformatter;
typedef TComInterface<_RSAPKCS1KeyExchangeDeformatter, &IID__RSAPKCS1KeyExchangeDeformatter> _RSAPKCS1KeyExchangeDeformatterPtr;
interface DECLSPEC_UUID("{9FF67F8E-A7AA-3BA6-90EE-9D44AF6E2F8C}") _RSAPKCS1KeyExchangeFormatter;
typedef TComInterface<_RSAPKCS1KeyExchangeFormatter, &IID__RSAPKCS1KeyExchangeFormatter> _RSAPKCS1KeyExchangeFormatterPtr;
interface DECLSPEC_UUID("{FC38507E-06A4-3300-8652-8D7B54341F65}") _RSAPKCS1SignatureDeformatter;
typedef TComInterface<_RSAPKCS1SignatureDeformatter, &IID__RSAPKCS1SignatureDeformatter> _RSAPKCS1SignatureDeformatterPtr;
interface DECLSPEC_UUID("{FB7A5FF4-CFA8-3F24-AD5F-D5EB39359707}") _RSAPKCS1SignatureFormatter;
typedef TComInterface<_RSAPKCS1SignatureFormatter, &IID__RSAPKCS1SignatureFormatter> _RSAPKCS1SignatureFormatterPtr;
interface DECLSPEC_UUID("{21B52A91-856F-373C-AD42-4CF3F1021F5A}") _Rijndael;
typedef TComInterface<_Rijndael, &IID__Rijndael> _RijndaelPtr;
interface DECLSPEC_UUID("{427EA9D3-11D8-3E38-9E05-A4F7FA684183}") _RijndaelManaged;
typedef TComInterface<_RijndaelManaged, &IID__RijndaelManaged> _RijndaelManagedPtr;
interface DECLSPEC_UUID("{5767C78F-F344-35A5-84BC-53B9EAEB68CB}") _RijndaelManagedTransform;
typedef TComInterface<_RijndaelManagedTransform, &IID__RijndaelManagedTransform> _RijndaelManagedTransformPtr;
interface DECLSPEC_UUID("{48600DD2-0099-337F-92D6-961D1E5010D4}") _SHA1;
typedef TComInterface<_SHA1, &IID__SHA1> _SHA1Ptr;
interface DECLSPEC_UUID("{A16537BC-1EDF-3516-B75E-CC65CAF873AB}") _SHA1CryptoServiceProvider;
typedef TComInterface<_SHA1CryptoServiceProvider, &IID__SHA1CryptoServiceProvider> _SHA1CryptoServiceProviderPtr;
interface DECLSPEC_UUID("{C27990BB-3CFD-3D29-8DC0-BBE5FBADEAFD}") _SHA1Managed;
typedef TComInterface<_SHA1Managed, &IID__SHA1Managed> _SHA1ManagedPtr;
interface DECLSPEC_UUID("{3B274703-DFAE-3F9C-A1B5-9990DF9D7FA3}") _SHA256;
typedef TComInterface<_SHA256, &IID__SHA256> _SHA256Ptr;
interface DECLSPEC_UUID("{3D077954-7BCC-325B-9DDA-3B17A03378E0}") _SHA256Managed;
typedef TComInterface<_SHA256Managed, &IID__SHA256Managed> _SHA256ManagedPtr;
interface DECLSPEC_UUID("{B60AD5D7-2C2E-35B7-8D77-7946156CFE8E}") _SHA384;
typedef TComInterface<_SHA384, &IID__SHA384> _SHA384Ptr;
interface DECLSPEC_UUID("{DE541460-F838-3698-B2DA-510B09070118}") _SHA384Managed;
typedef TComInterface<_SHA384Managed, &IID__SHA384Managed> _SHA384ManagedPtr;
interface DECLSPEC_UUID("{49DD9E4B-84F3-3D6D-91FB-3FEDCEF634C7}") _SHA512;
typedef TComInterface<_SHA512, &IID__SHA512> _SHA512Ptr;
interface DECLSPEC_UUID("{DC8CE439-7954-36ED-803C-674F72F27249}") _SHA512Managed;
typedef TComInterface<_SHA512Managed, &IID__SHA512Managed> _SHA512ManagedPtr;
interface DECLSPEC_UUID("{8017B414-4886-33DA-80A3-7865C1350D43}") _SignatureDescription;
typedef TComInterface<_SignatureDescription, &IID__SignatureDescription> _SignatureDescriptionPtr;
interface DECLSPEC_UUID("{C040B889-5278-3132-AFF9-AFA61707A81D}") _TripleDES;
typedef TComInterface<_TripleDES, &IID__TripleDES> _TripleDESPtr;
interface DECLSPEC_UUID("{EC69D083-3CD0-3C0C-998C-3B738DB535D5}") _TripleDESCryptoServiceProvider;
typedef TComInterface<_TripleDESCryptoServiceProvider, &IID__TripleDESCryptoServiceProvider> _TripleDESCryptoServiceProviderPtr;
interface DECLSPEC_UUID("{68FD6F14-A7B2-36C8-A724-D01F90D73477}") _X509Certificate;
typedef TComInterface<_X509Certificate, &IID__X509Certificate> _X509CertificatePtr;

// *********************************************************************//
// Déclaration des CoClasses définies dans la bibliothèque de types    
// (REMARQUE : On affecte chaque CoClass à son Interface par défaut)              
//                                                                        
// Les macros LIBID_OF_ affectent un LIBID_OF_CoClassName au GUID de 
// cette Bibliothèque de types. Cela simplifie la mise à jour des macros lorsque le nom 
// de CoClass change.                                                           
// *********************************************************************//
//typedef _Exception Exception;
typedef _ExceptionPtr ExceptionPtr;
typedef _Activator Activator;
typedef _ActivatorPtr ActivatorPtr;
typedef _AppDomain AppDomain;
typedef _AppDomainPtr AppDomainPtr;
typedef IAppDomainSetup AppDomainSetup;
typedef IAppDomainSetupPtr AppDomainSetupPtr;
typedef _Attribute Attribute;
typedef _AttributePtr AttributePtr;
typedef _MemberInfo MemberInfo;
typedef _MemberInfoPtr MemberInfoPtr;
typedef _Type Type;
typedef _TypePtr TypePtr;
typedef _Thread Thread;
typedef _ThreadPtr ThreadPtr;
typedef _Assembly Assembly;
typedef _AssemblyPtr AssemblyPtr;
typedef _AssemblyName AssemblyName;
typedef _AssemblyNamePtr AssemblyNamePtr;
typedef _Module Module;
typedef _ModulePtr ModulePtr;
typedef _MethodBase MethodBase;
typedef _MethodBasePtr MethodBasePtr;
typedef _ConstructorInfo ConstructorInfo;
typedef _ConstructorInfoPtr ConstructorInfoPtr;
typedef _MethodInfo MethodInfo;
typedef _MethodInfoPtr MethodInfoPtr;
typedef _FieldInfo FieldInfo;
typedef _FieldInfoPtr FieldInfoPtr;
typedef _EventInfo EventInfo;
typedef _EventInfoPtr EventInfoPtr;
typedef _PropertyInfo PropertyInfo;
typedef _PropertyInfoPtr PropertyInfoPtr;
typedef _ParameterInfo ParameterInfo;
typedef _ParameterInfoPtr ParameterInfoPtr;
typedef IRegistrationServices RegistrationServices;
typedef IRegistrationServicesPtr RegistrationServicesPtr;
typedef ITypeLibConverter TypeLibConverter;
typedef ITypeLibConverterPtr TypeLibConverterPtr;
typedef _AssemblyBuilder AssemblyBuilder;
typedef _AssemblyBuilderPtr AssemblyBuilderPtr;
typedef _ConstructorBuilder ConstructorBuilder;
typedef _ConstructorBuilderPtr ConstructorBuilderPtr;
typedef _ILGenerator ILGenerator;
typedef _ILGeneratorPtr ILGeneratorPtr;
typedef _EventBuilder EventBuilder;
typedef _EventBuilderPtr EventBuilderPtr;
typedef _FieldBuilder FieldBuilder;
typedef _FieldBuilderPtr FieldBuilderPtr;
typedef _LocalBuilder LocalBuilder;
typedef _LocalBuilderPtr LocalBuilderPtr;
typedef _MethodBuilder MethodBuilder;
typedef _MethodBuilderPtr MethodBuilderPtr;
typedef _CustomAttributeBuilder CustomAttributeBuilder;
typedef _CustomAttributeBuilderPtr CustomAttributeBuilderPtr;
typedef _MethodRental MethodRental;
typedef _MethodRentalPtr MethodRentalPtr;
typedef _ModuleBuilder ModuleBuilder;
typedef _ModuleBuilderPtr ModuleBuilderPtr;
typedef _ParameterBuilder ParameterBuilder;
typedef _ParameterBuilderPtr ParameterBuilderPtr;
typedef _PropertyBuilder PropertyBuilder;
typedef _PropertyBuilderPtr PropertyBuilderPtr;
typedef _SignatureHelper SignatureHelper;
typedef _SignatureHelperPtr SignatureHelperPtr;
typedef _TypeBuilder TypeBuilder;
typedef _TypeBuilderPtr TypeBuilderPtr;
typedef _EnumBuilder EnumBuilder;
typedef _EnumBuilderPtr EnumBuilderPtr;
typedef _Object Object;
typedef _ObjectPtr ObjectPtr;
typedef _Array Array;
typedef _ArrayPtr ArrayPtr;
typedef _ValueType ValueType;
typedef _ValueTypePtr ValueTypePtr;
typedef _Enum Enum;
typedef _EnumPtr EnumPtr;
typedef _String String;
typedef _StringPtr StringPtr;
typedef _StringComparer StringComparer;
typedef _StringComparerPtr StringComparerPtr;
typedef _StringBuilder StringBuilder;
typedef _StringBuilderPtr StringBuilderPtr;
typedef _SystemException SystemException;
typedef _SystemExceptionPtr SystemExceptionPtr;
typedef _OutOfMemoryException OutOfMemoryException;
typedef _OutOfMemoryExceptionPtr OutOfMemoryExceptionPtr;
typedef _StackOverflowException StackOverflowException;
typedef _StackOverflowExceptionPtr StackOverflowExceptionPtr;
typedef _DataMisalignedException DataMisalignedException;
typedef _DataMisalignedExceptionPtr DataMisalignedExceptionPtr;
typedef _ExecutionEngineException ExecutionEngineException;
typedef _ExecutionEngineExceptionPtr ExecutionEngineExceptionPtr;
typedef _Delegate Delegate;
typedef _DelegatePtr DelegatePtr;
typedef _MulticastDelegate MulticastDelegate;
typedef _MulticastDelegatePtr MulticastDelegatePtr;
typedef _MemberAccessException MemberAccessException;
typedef _MemberAccessExceptionPtr MemberAccessExceptionPtr;
typedef _AccessViolationException AccessViolationException;
typedef _AccessViolationExceptionPtr AccessViolationExceptionPtr;
typedef _ApplicationActivator ApplicationActivator;
typedef _ApplicationActivatorPtr ApplicationActivatorPtr;
typedef _ApplicationException ApplicationException;
typedef _ApplicationExceptionPtr ApplicationExceptionPtr;
typedef _EventArgs EventArgs;
typedef _EventArgsPtr EventArgsPtr;
typedef _ResolveEventArgs ResolveEventArgs;
typedef _ResolveEventArgsPtr ResolveEventArgsPtr;
typedef _AssemblyLoadEventArgs AssemblyLoadEventArgs;
typedef _AssemblyLoadEventArgsPtr AssemblyLoadEventArgsPtr;
typedef _ResolveEventHandler ResolveEventHandler;
typedef _ResolveEventHandlerPtr ResolveEventHandlerPtr;
typedef _AssemblyLoadEventHandler AssemblyLoadEventHandler;
typedef _AssemblyLoadEventHandlerPtr AssemblyLoadEventHandlerPtr;
typedef _AppDomainInitializer AppDomainInitializer;
typedef _AppDomainInitializerPtr AppDomainInitializerPtr;
typedef _MarshalByRefObject MarshalByRefObject;
typedef _MarshalByRefObjectPtr MarshalByRefObjectPtr;
typedef _CrossAppDomainDelegate CrossAppDomainDelegate;
typedef _CrossAppDomainDelegatePtr CrossAppDomainDelegatePtr;
typedef _AppDomainManager AppDomainManager;
typedef _AppDomainManagerPtr AppDomainManagerPtr;
typedef _LoaderOptimizationAttribute LoaderOptimizationAttribute;
typedef _LoaderOptimizationAttributePtr LoaderOptimizationAttributePtr;
typedef _AppDomainUnloadedException AppDomainUnloadedException;
typedef _AppDomainUnloadedExceptionPtr AppDomainUnloadedExceptionPtr;
typedef _ActivationArguments ActivationArguments;
typedef _ActivationArgumentsPtr ActivationArgumentsPtr;
typedef _ApplicationId ApplicationId;
typedef _ApplicationIdPtr ApplicationIdPtr;
typedef _ArgumentException ArgumentException;
typedef _ArgumentExceptionPtr ArgumentExceptionPtr;
typedef _ArgumentNullException ArgumentNullException;
typedef _ArgumentNullExceptionPtr ArgumentNullExceptionPtr;
typedef _ArgumentOutOfRangeException ArgumentOutOfRangeException;
typedef _ArgumentOutOfRangeExceptionPtr ArgumentOutOfRangeExceptionPtr;
typedef _ArithmeticException ArithmeticException;
typedef _ArithmeticExceptionPtr ArithmeticExceptionPtr;
typedef _ArrayTypeMismatchException ArrayTypeMismatchException;
typedef _ArrayTypeMismatchExceptionPtr ArrayTypeMismatchExceptionPtr;
typedef _AsyncCallback AsyncCallback;
typedef _AsyncCallbackPtr AsyncCallbackPtr;
typedef _AttributeUsageAttribute AttributeUsageAttribute;
typedef _AttributeUsageAttributePtr AttributeUsageAttributePtr;
typedef _BadImageFormatException BadImageFormatException;
typedef _BadImageFormatExceptionPtr BadImageFormatExceptionPtr;
typedef _Buffer Buffer;
typedef _BufferPtr BufferPtr;
typedef _CannotUnloadAppDomainException CannotUnloadAppDomainException;
typedef _CannotUnloadAppDomainExceptionPtr CannotUnloadAppDomainExceptionPtr;
typedef _CharEnumerator CharEnumerator;
typedef _CharEnumeratorPtr CharEnumeratorPtr;
typedef _CLSCompliantAttribute CLSCompliantAttribute;
typedef _CLSCompliantAttributePtr CLSCompliantAttributePtr;
typedef _TypeUnloadedException TypeUnloadedException;
typedef _TypeUnloadedExceptionPtr TypeUnloadedExceptionPtr;
typedef _CriticalFinalizerObject CriticalFinalizerObject;
typedef _CriticalFinalizerObjectPtr CriticalFinalizerObjectPtr;
typedef _ContextMarshalException ContextMarshalException;
typedef _ContextMarshalExceptionPtr ContextMarshalExceptionPtr;
typedef _ContextBoundObject ContextBoundObject;
typedef _ContextBoundObjectPtr ContextBoundObjectPtr;
typedef _ContextStaticAttribute ContextStaticAttribute;
typedef _ContextStaticAttributePtr ContextStaticAttributePtr;
typedef _TimeZone TimeZone;
typedef _TimeZonePtr TimeZonePtr;
typedef _DBNull DBNull;
typedef _DBNullPtr DBNullPtr;
typedef _Binder Binder;
typedef _BinderPtr BinderPtr;
typedef _DivideByZeroException DivideByZeroException;
typedef _DivideByZeroExceptionPtr DivideByZeroExceptionPtr;
typedef _DuplicateWaitObjectException DuplicateWaitObjectException;
typedef _DuplicateWaitObjectExceptionPtr DuplicateWaitObjectExceptionPtr;
typedef _TypeLoadException TypeLoadException;
typedef _TypeLoadExceptionPtr TypeLoadExceptionPtr;
typedef _EntryPointNotFoundException EntryPointNotFoundException;
typedef _EntryPointNotFoundExceptionPtr EntryPointNotFoundExceptionPtr;
typedef _DllNotFoundException DllNotFoundException;
typedef _DllNotFoundExceptionPtr DllNotFoundExceptionPtr;
typedef _Environment Environment;
typedef _EnvironmentPtr EnvironmentPtr;
typedef _EventHandler EventHandler;
typedef _EventHandlerPtr EventHandlerPtr;
typedef _FieldAccessException FieldAccessException;
typedef _FieldAccessExceptionPtr FieldAccessExceptionPtr;
typedef _FlagsAttribute FlagsAttribute;
typedef _FlagsAttributePtr FlagsAttributePtr;
typedef _FormatException FormatException;
typedef _FormatExceptionPtr FormatExceptionPtr;
typedef _IndexOutOfRangeException IndexOutOfRangeException;
typedef _IndexOutOfRangeExceptionPtr IndexOutOfRangeExceptionPtr;
typedef _InvalidCastException InvalidCastException;
typedef _InvalidCastExceptionPtr InvalidCastExceptionPtr;
typedef _InvalidOperationException InvalidOperationException;
typedef _InvalidOperationExceptionPtr InvalidOperationExceptionPtr;
typedef _InvalidProgramException InvalidProgramException;
typedef _InvalidProgramExceptionPtr InvalidProgramExceptionPtr;
typedef _LocalDataStoreSlot LocalDataStoreSlot;
typedef _LocalDataStoreSlotPtr LocalDataStoreSlotPtr;
typedef _MethodAccessException MethodAccessException;
typedef _MethodAccessExceptionPtr MethodAccessExceptionPtr;
typedef _MissingMemberException MissingMemberException;
typedef _MissingMemberExceptionPtr MissingMemberExceptionPtr;
typedef _MissingFieldException MissingFieldException;
typedef _MissingFieldExceptionPtr MissingFieldExceptionPtr;
typedef _MissingMethodException MissingMethodException;
typedef _MissingMethodExceptionPtr MissingMethodExceptionPtr;
typedef _MulticastNotSupportedException MulticastNotSupportedException;
typedef _MulticastNotSupportedExceptionPtr MulticastNotSupportedExceptionPtr;
typedef _NonSerializedAttribute NonSerializedAttribute;
typedef _NonSerializedAttributePtr NonSerializedAttributePtr;
typedef _NotFiniteNumberException NotFiniteNumberException;
typedef _NotFiniteNumberExceptionPtr NotFiniteNumberExceptionPtr;
typedef _NotImplementedException NotImplementedException;
typedef _NotImplementedExceptionPtr NotImplementedExceptionPtr;
typedef _NotSupportedException NotSupportedException;
typedef _NotSupportedExceptionPtr NotSupportedExceptionPtr;
typedef _NullReferenceException NullReferenceException;
typedef _NullReferenceExceptionPtr NullReferenceExceptionPtr;
typedef _ObjectDisposedException ObjectDisposedException;
typedef _ObjectDisposedExceptionPtr ObjectDisposedExceptionPtr;
typedef _ObsoleteAttribute ObsoleteAttribute;
typedef _ObsoleteAttributePtr ObsoleteAttributePtr;
typedef _OperatingSystem OperatingSystem;
typedef _OperatingSystemPtr OperatingSystemPtr;
typedef _OperationCanceledException OperationCanceledException;
typedef _OperationCanceledExceptionPtr OperationCanceledExceptionPtr;
typedef _OverflowException OverflowException;
typedef _OverflowExceptionPtr OverflowExceptionPtr;
typedef _ParamArrayAttribute ParamArrayAttribute;
typedef _ParamArrayAttributePtr ParamArrayAttributePtr;
typedef _PlatformNotSupportedException PlatformNotSupportedException;
typedef _PlatformNotSupportedExceptionPtr PlatformNotSupportedExceptionPtr;
typedef _Random Random;
typedef _RandomPtr RandomPtr;
typedef _RankException RankException;
typedef _RankExceptionPtr RankExceptionPtr;
typedef _SerializableAttribute SerializableAttribute;
typedef _SerializableAttributePtr SerializableAttributePtr;
typedef _TimeoutException TimeoutException;
typedef _TimeoutExceptionPtr TimeoutExceptionPtr;
typedef _TypeInitializationException TypeInitializationException;
typedef _TypeInitializationExceptionPtr TypeInitializationExceptionPtr;
typedef _UnauthorizedAccessException UnauthorizedAccessException;
typedef _UnauthorizedAccessExceptionPtr UnauthorizedAccessExceptionPtr;
typedef _UnhandledExceptionEventArgs UnhandledExceptionEventArgs;
typedef _UnhandledExceptionEventArgsPtr UnhandledExceptionEventArgsPtr;
typedef _UnhandledExceptionEventHandler UnhandledExceptionEventHandler;
typedef _UnhandledExceptionEventHandlerPtr UnhandledExceptionEventHandlerPtr;
typedef _Version Version;
typedef _VersionPtr VersionPtr;
typedef _WeakReference WeakReference;
typedef _WeakReferencePtr WeakReferencePtr;
typedef _WaitHandle WaitHandle;
typedef _WaitHandlePtr WaitHandlePtr;
typedef _EventWaitHandle EventWaitHandle;
typedef _EventWaitHandlePtr EventWaitHandlePtr;
typedef _AutoResetEvent AutoResetEvent;
typedef _AutoResetEventPtr AutoResetEventPtr;
typedef _ContextCallback ContextCallback;
typedef _ContextCallbackPtr ContextCallbackPtr;
typedef _ManualResetEvent ManualResetEvent;
typedef _ManualResetEventPtr ManualResetEventPtr;
typedef _Monitor Monitor;
typedef _MonitorPtr MonitorPtr;
typedef _Mutex Mutex;
typedef _MutexPtr MutexPtr;
typedef _Overlapped Overlapped;
typedef _OverlappedPtr OverlappedPtr;
typedef _ReaderWriterLock ReaderWriterLock;
typedef _ReaderWriterLockPtr ReaderWriterLockPtr;
typedef _SynchronizationLockException SynchronizationLockException;
typedef _SynchronizationLockExceptionPtr SynchronizationLockExceptionPtr;
typedef _ThreadAbortException ThreadAbortException;
typedef _ThreadAbortExceptionPtr ThreadAbortExceptionPtr;
typedef _ThreadInterruptedException ThreadInterruptedException;
typedef _ThreadInterruptedExceptionPtr ThreadInterruptedExceptionPtr;
typedef _RegisteredWaitHandle RegisteredWaitHandle;
typedef _RegisteredWaitHandlePtr RegisteredWaitHandlePtr;
typedef _WaitCallback WaitCallback;
typedef _WaitCallbackPtr WaitCallbackPtr;
typedef _WaitOrTimerCallback WaitOrTimerCallback;
typedef _WaitOrTimerCallbackPtr WaitOrTimerCallbackPtr;
typedef _IOCompletionCallback IOCompletionCallback;
typedef _IOCompletionCallbackPtr IOCompletionCallbackPtr;
typedef _ThreadStart ThreadStart;
typedef _ThreadStartPtr ThreadStartPtr;
typedef _ThreadStateException ThreadStateException;
typedef _ThreadStateExceptionPtr ThreadStateExceptionPtr;
typedef _ThreadStaticAttribute ThreadStaticAttribute;
typedef _ThreadStaticAttributePtr ThreadStaticAttributePtr;
typedef _Timeout Timeout;
typedef _TimeoutPtr TimeoutPtr;
typedef _TimerCallback TimerCallback;
typedef _TimerCallbackPtr TimerCallbackPtr;
typedef _Timer Timer;
typedef _TimerPtr TimerPtr;
typedef _STAThreadAttribute STAThreadAttribute;
typedef _STAThreadAttributePtr STAThreadAttributePtr;
typedef _MTAThreadAttribute MTAThreadAttribute;
typedef _MTAThreadAttributePtr MTAThreadAttributePtr;
typedef _ArrayList ArrayList;
typedef _ArrayListPtr ArrayListPtr;
typedef _BitArray BitArray;
typedef _BitArrayPtr BitArrayPtr;
typedef _CaseInsensitiveComparer CaseInsensitiveComparer;
typedef _CaseInsensitiveComparerPtr CaseInsensitiveComparerPtr;
typedef _CaseInsensitiveHashCodeProvider CaseInsensitiveHashCodeProvider;
typedef _CaseInsensitiveHashCodeProviderPtr CaseInsensitiveHashCodeProviderPtr;
typedef _CollectionBase CollectionBase;
typedef _CollectionBasePtr CollectionBasePtr;
typedef _Comparer Comparer;
typedef _ComparerPtr ComparerPtr;
typedef _DictionaryBase DictionaryBase;
typedef _DictionaryBasePtr DictionaryBasePtr;
typedef _Hashtable Hashtable;
typedef _HashtablePtr HashtablePtr;
typedef _Queue Queue;
typedef _QueuePtr QueuePtr;
typedef _ReadOnlyCollectionBase ReadOnlyCollectionBase;
typedef _ReadOnlyCollectionBasePtr ReadOnlyCollectionBasePtr;
typedef _SortedList SortedList;
typedef _SortedListPtr SortedListPtr;
typedef _Stack Stack;
typedef _StackPtr StackPtr;
typedef _Nullable Nullable;
typedef _NullablePtr NullablePtr;
typedef _KeyNotFoundException KeyNotFoundException;
typedef _KeyNotFoundExceptionPtr KeyNotFoundExceptionPtr;
typedef _ConditionalAttribute ConditionalAttribute;
typedef _ConditionalAttributePtr ConditionalAttributePtr;
typedef _Debugger Debugger;
typedef _DebuggerPtr DebuggerPtr;
typedef _DebuggerStepThroughAttribute DebuggerStepThroughAttribute;
typedef _DebuggerStepThroughAttributePtr DebuggerStepThroughAttributePtr;
typedef _DebuggerStepperBoundaryAttribute DebuggerStepperBoundaryAttribute;
typedef _DebuggerStepperBoundaryAttributePtr DebuggerStepperBoundaryAttributePtr;
typedef _DebuggerHiddenAttribute DebuggerHiddenAttribute;
typedef _DebuggerHiddenAttributePtr DebuggerHiddenAttributePtr;
typedef _DebuggerNonUserCodeAttribute DebuggerNonUserCodeAttribute;
typedef _DebuggerNonUserCodeAttributePtr DebuggerNonUserCodeAttributePtr;
typedef _DebuggableAttribute DebuggableAttribute;
typedef _DebuggableAttributePtr DebuggableAttributePtr;
typedef _DebuggerBrowsableAttribute DebuggerBrowsableAttribute;
typedef _DebuggerBrowsableAttributePtr DebuggerBrowsableAttributePtr;
typedef _DebuggerTypeProxyAttribute DebuggerTypeProxyAttribute;
typedef _DebuggerTypeProxyAttributePtr DebuggerTypeProxyAttributePtr;
typedef _DebuggerDisplayAttribute DebuggerDisplayAttribute;
typedef _DebuggerDisplayAttributePtr DebuggerDisplayAttributePtr;
typedef _DebuggerVisualizerAttribute DebuggerVisualizerAttribute;
typedef _DebuggerVisualizerAttributePtr DebuggerVisualizerAttributePtr;
typedef _StackTrace StackTrace;
typedef _StackTracePtr StackTracePtr;
typedef _StackFrame StackFrame;
typedef _StackFramePtr StackFramePtr;
typedef _SymDocumentType SymDocumentType;
typedef _SymDocumentTypePtr SymDocumentTypePtr;
typedef _SymLanguageType SymLanguageType;
typedef _SymLanguageTypePtr SymLanguageTypePtr;
typedef _SymLanguageVendor SymLanguageVendor;
typedef _SymLanguageVendorPtr SymLanguageVendorPtr;
typedef _AmbiguousMatchException AmbiguousMatchException;
typedef _AmbiguousMatchExceptionPtr AmbiguousMatchExceptionPtr;
typedef _ModuleResolveEventHandler ModuleResolveEventHandler;
typedef _ModuleResolveEventHandlerPtr ModuleResolveEventHandlerPtr;
typedef _AssemblyCopyrightAttribute AssemblyCopyrightAttribute;
typedef _AssemblyCopyrightAttributePtr AssemblyCopyrightAttributePtr;
typedef _AssemblyTrademarkAttribute AssemblyTrademarkAttribute;
typedef _AssemblyTrademarkAttributePtr AssemblyTrademarkAttributePtr;
typedef _AssemblyProductAttribute AssemblyProductAttribute;
typedef _AssemblyProductAttributePtr AssemblyProductAttributePtr;
typedef _AssemblyCompanyAttribute AssemblyCompanyAttribute;
typedef _AssemblyCompanyAttributePtr AssemblyCompanyAttributePtr;
typedef _AssemblyDescriptionAttribute AssemblyDescriptionAttribute;
typedef _AssemblyDescriptionAttributePtr AssemblyDescriptionAttributePtr;
typedef _AssemblyTitleAttribute AssemblyTitleAttribute;
typedef _AssemblyTitleAttributePtr AssemblyTitleAttributePtr;
typedef _AssemblyConfigurationAttribute AssemblyConfigurationAttribute;
typedef _AssemblyConfigurationAttributePtr AssemblyConfigurationAttributePtr;
typedef _AssemblyDefaultAliasAttribute AssemblyDefaultAliasAttribute;
typedef _AssemblyDefaultAliasAttributePtr AssemblyDefaultAliasAttributePtr;
typedef _AssemblyInformationalVersionAttribute AssemblyInformationalVersionAttribute;
typedef _AssemblyInformationalVersionAttributePtr AssemblyInformationalVersionAttributePtr;
typedef _AssemblyFileVersionAttribute AssemblyFileVersionAttribute;
typedef _AssemblyFileVersionAttributePtr AssemblyFileVersionAttributePtr;
typedef _AssemblyCultureAttribute AssemblyCultureAttribute;
typedef _AssemblyCultureAttributePtr AssemblyCultureAttributePtr;
typedef _AssemblyVersionAttribute AssemblyVersionAttribute;
typedef _AssemblyVersionAttributePtr AssemblyVersionAttributePtr;
typedef _AssemblyKeyFileAttribute AssemblyKeyFileAttribute;
typedef _AssemblyKeyFileAttributePtr AssemblyKeyFileAttributePtr;
typedef _AssemblyDelaySignAttribute AssemblyDelaySignAttribute;
typedef _AssemblyDelaySignAttributePtr AssemblyDelaySignAttributePtr;
typedef _AssemblyAlgorithmIdAttribute AssemblyAlgorithmIdAttribute;
typedef _AssemblyAlgorithmIdAttributePtr AssemblyAlgorithmIdAttributePtr;
typedef _AssemblyFlagsAttribute AssemblyFlagsAttribute;
typedef _AssemblyFlagsAttributePtr AssemblyFlagsAttributePtr;
typedef _AssemblyKeyNameAttribute AssemblyKeyNameAttribute;
typedef _AssemblyKeyNameAttributePtr AssemblyKeyNameAttributePtr;
typedef _AssemblyNameProxy AssemblyNameProxy;
typedef _AssemblyNameProxyPtr AssemblyNameProxyPtr;
typedef _CustomAttributeFormatException CustomAttributeFormatException;
typedef _CustomAttributeFormatExceptionPtr CustomAttributeFormatExceptionPtr;
typedef _CustomAttributeData CustomAttributeData;
typedef _CustomAttributeDataPtr CustomAttributeDataPtr;
typedef _DefaultMemberAttribute DefaultMemberAttribute;
typedef _DefaultMemberAttributePtr DefaultMemberAttributePtr;
typedef _InvalidFilterCriteriaException InvalidFilterCriteriaException;
typedef _InvalidFilterCriteriaExceptionPtr InvalidFilterCriteriaExceptionPtr;
typedef _ManifestResourceInfo ManifestResourceInfo;
typedef _ManifestResourceInfoPtr ManifestResourceInfoPtr;
typedef _MemberFilter MemberFilter;
typedef _MemberFilterPtr MemberFilterPtr;
typedef _Missing Missing;
typedef _MissingPtr MissingPtr;
typedef _ObfuscateAssemblyAttribute ObfuscateAssemblyAttribute;
typedef _ObfuscateAssemblyAttributePtr ObfuscateAssemblyAttributePtr;
typedef _ObfuscationAttribute ObfuscationAttribute;
typedef _ObfuscationAttributePtr ObfuscationAttributePtr;
typedef _ExceptionHandlingClause ExceptionHandlingClause;
typedef _ExceptionHandlingClausePtr ExceptionHandlingClausePtr;
typedef _MethodBody MethodBody;
typedef _MethodBodyPtr MethodBodyPtr;
typedef _LocalVariableInfo LocalVariableInfo;
typedef _LocalVariableInfoPtr LocalVariableInfoPtr;
typedef _Pointer Pointer;
typedef _PointerPtr PointerPtr;
typedef _ReflectionTypeLoadException ReflectionTypeLoadException;
typedef _ReflectionTypeLoadExceptionPtr ReflectionTypeLoadExceptionPtr;
typedef _StrongNameKeyPair StrongNameKeyPair;
typedef _StrongNameKeyPairPtr StrongNameKeyPairPtr;
typedef _TargetException TargetException;
typedef _TargetExceptionPtr TargetExceptionPtr;
typedef _TargetInvocationException TargetInvocationException;
typedef _TargetInvocationExceptionPtr TargetInvocationExceptionPtr;
typedef _TargetParameterCountException TargetParameterCountException;
typedef _TargetParameterCountExceptionPtr TargetParameterCountExceptionPtr;
typedef _TypeDelegator TypeDelegator;
typedef _TypeDelegatorPtr TypeDelegatorPtr;
typedef _TypeFilter TypeFilter;
typedef _TypeFilterPtr TypeFilterPtr;
typedef _Formatter Formatter;
typedef _FormatterPtr FormatterPtr;
typedef _FormatterConverter FormatterConverter;
typedef _FormatterConverterPtr FormatterConverterPtr;
typedef _FormatterServices FormatterServices;
typedef _FormatterServicesPtr FormatterServicesPtr;
typedef _ObjectIDGenerator ObjectIDGenerator;
typedef _ObjectIDGeneratorPtr ObjectIDGeneratorPtr;
typedef _ObjectManager ObjectManager;
typedef _ObjectManagerPtr ObjectManagerPtr;
typedef _OptionalFieldAttribute OptionalFieldAttribute;
typedef _OptionalFieldAttributePtr OptionalFieldAttributePtr;
typedef _OnSerializingAttribute OnSerializingAttribute;
typedef _OnSerializingAttributePtr OnSerializingAttributePtr;
typedef _OnSerializedAttribute OnSerializedAttribute;
typedef _OnSerializedAttributePtr OnSerializedAttributePtr;
typedef _OnDeserializingAttribute OnDeserializingAttribute;
typedef _OnDeserializingAttributePtr OnDeserializingAttributePtr;
typedef _OnDeserializedAttribute OnDeserializedAttribute;
typedef _OnDeserializedAttributePtr OnDeserializedAttributePtr;
typedef _SerializationBinder SerializationBinder;
typedef _SerializationBinderPtr SerializationBinderPtr;
typedef _SerializationInfo SerializationInfo;
typedef _SerializationInfoPtr SerializationInfoPtr;
typedef _SerializationInfoEnumerator SerializationInfoEnumerator;
typedef _SerializationInfoEnumeratorPtr SerializationInfoEnumeratorPtr;
typedef _SerializationException SerializationException;
typedef _SerializationExceptionPtr SerializationExceptionPtr;
typedef _SurrogateSelector SurrogateSelector;
typedef _SurrogateSelectorPtr SurrogateSelectorPtr;
typedef _Calendar Calendar;
typedef _CalendarPtr CalendarPtr;
typedef _EastAsianLunisolarCalendar EastAsianLunisolarCalendar;
typedef _EastAsianLunisolarCalendarPtr EastAsianLunisolarCalendarPtr;
typedef _CompareInfo CompareInfo;
typedef _CompareInfoPtr CompareInfoPtr;
typedef _CultureInfo CultureInfo;
typedef _CultureInfoPtr CultureInfoPtr;
typedef _DateTimeFormatInfo DateTimeFormatInfo;
typedef _DateTimeFormatInfoPtr DateTimeFormatInfoPtr;
typedef _DaylightTime DaylightTime;
typedef _DaylightTimePtr DaylightTimePtr;
typedef _GregorianCalendar GregorianCalendar;
typedef _GregorianCalendarPtr GregorianCalendarPtr;
typedef _HebrewCalendar HebrewCalendar;
typedef _HebrewCalendarPtr HebrewCalendarPtr;
typedef _HijriCalendar HijriCalendar;
typedef _HijriCalendarPtr HijriCalendarPtr;
typedef _JapaneseCalendar JapaneseCalendar;
typedef _JapaneseCalendarPtr JapaneseCalendarPtr;
typedef _JulianCalendar JulianCalendar;
typedef _JulianCalendarPtr JulianCalendarPtr;
typedef _KoreanCalendar KoreanCalendar;
typedef _KoreanCalendarPtr KoreanCalendarPtr;
typedef _RegionInfo RegionInfo;
typedef _RegionInfoPtr RegionInfoPtr;
typedef _SortKey SortKey;
typedef _SortKeyPtr SortKeyPtr;
typedef _StringInfo StringInfo;
typedef _StringInfoPtr StringInfoPtr;
typedef _TaiwanCalendar TaiwanCalendar;
typedef _TaiwanCalendarPtr TaiwanCalendarPtr;
typedef _TextElementEnumerator TextElementEnumerator;
typedef _TextElementEnumeratorPtr TextElementEnumeratorPtr;
typedef _TextInfo TextInfo;
typedef _TextInfoPtr TextInfoPtr;
typedef _ThaiBuddhistCalendar ThaiBuddhistCalendar;
typedef _ThaiBuddhistCalendarPtr ThaiBuddhistCalendarPtr;
typedef _NumberFormatInfo NumberFormatInfo;
typedef _NumberFormatInfoPtr NumberFormatInfoPtr;
typedef _Encoding Encoding;
typedef _EncodingPtr EncodingPtr;
typedef _Encoder Encoder;
typedef _EncoderPtr EncoderPtr;
typedef _Decoder Decoder;
typedef _DecoderPtr DecoderPtr;
typedef _ASCIIEncoding ASCIIEncoding;
typedef _ASCIIEncodingPtr ASCIIEncodingPtr;
typedef _UnicodeEncoding UnicodeEncoding;
typedef _UnicodeEncodingPtr UnicodeEncodingPtr;
typedef _UTF7Encoding UTF7Encoding;
typedef _UTF7EncodingPtr UTF7EncodingPtr;
typedef _UTF8Encoding UTF8Encoding;
typedef _UTF8EncodingPtr UTF8EncodingPtr;
typedef _MissingManifestResourceException MissingManifestResourceException;
typedef _MissingManifestResourceExceptionPtr MissingManifestResourceExceptionPtr;
typedef _MissingSatelliteAssemblyException MissingSatelliteAssemblyException;
typedef _MissingSatelliteAssemblyExceptionPtr MissingSatelliteAssemblyExceptionPtr;
typedef _NeutralResourcesLanguageAttribute NeutralResourcesLanguageAttribute;
typedef _NeutralResourcesLanguageAttributePtr NeutralResourcesLanguageAttributePtr;
typedef _ResourceManager ResourceManager;
typedef _ResourceManagerPtr ResourceManagerPtr;
typedef _ResourceReader ResourceReader;
typedef _ResourceReaderPtr ResourceReaderPtr;
typedef _ResourceSet ResourceSet;
typedef _ResourceSetPtr ResourceSetPtr;
typedef _ResourceWriter ResourceWriter;
typedef _ResourceWriterPtr ResourceWriterPtr;
typedef _SatelliteContractVersionAttribute SatelliteContractVersionAttribute;
typedef _SatelliteContractVersionAttributePtr SatelliteContractVersionAttributePtr;
typedef _Registry Registry;
typedef _RegistryPtr RegistryPtr;
typedef _RegistryKey RegistryKey;
typedef _RegistryKeyPtr RegistryKeyPtr;
typedef _AllMembershipCondition AllMembershipCondition;
typedef _AllMembershipConditionPtr AllMembershipConditionPtr;
typedef _ApplicationDirectory ApplicationDirectory;
typedef _ApplicationDirectoryPtr ApplicationDirectoryPtr;
typedef _ApplicationDirectoryMembershipCondition ApplicationDirectoryMembershipCondition;
typedef _ApplicationDirectoryMembershipConditionPtr ApplicationDirectoryMembershipConditionPtr;
typedef _ApplicationSecurityInfo ApplicationSecurityInfo;
typedef _ApplicationSecurityInfoPtr ApplicationSecurityInfoPtr;
typedef _ApplicationSecurityManager ApplicationSecurityManager;
typedef _ApplicationSecurityManagerPtr ApplicationSecurityManagerPtr;
typedef _ApplicationTrust ApplicationTrust;
typedef _ApplicationTrustPtr ApplicationTrustPtr;
typedef _ApplicationTrustCollection ApplicationTrustCollection;
typedef _ApplicationTrustCollectionPtr ApplicationTrustCollectionPtr;
typedef _ApplicationTrustEnumerator ApplicationTrustEnumerator;
typedef _ApplicationTrustEnumeratorPtr ApplicationTrustEnumeratorPtr;
typedef _CodeGroup CodeGroup;
typedef _CodeGroupPtr CodeGroupPtr;
typedef _Evidence Evidence;
typedef _EvidencePtr EvidencePtr;
typedef _FileCodeGroup FileCodeGroup;
typedef _FileCodeGroupPtr FileCodeGroupPtr;
typedef _FirstMatchCodeGroup FirstMatchCodeGroup;
typedef _FirstMatchCodeGroupPtr FirstMatchCodeGroupPtr;
typedef _TrustManagerContext TrustManagerContext;
typedef _TrustManagerContextPtr TrustManagerContextPtr;
typedef _CodeConnectAccess CodeConnectAccess;
typedef _CodeConnectAccessPtr CodeConnectAccessPtr;
typedef _NetCodeGroup NetCodeGroup;
typedef _NetCodeGroupPtr NetCodeGroupPtr;
typedef _PermissionRequestEvidence PermissionRequestEvidence;
typedef _PermissionRequestEvidencePtr PermissionRequestEvidencePtr;
typedef _PolicyException PolicyException;
typedef _PolicyExceptionPtr PolicyExceptionPtr;
typedef _PolicyLevel PolicyLevel;
typedef _PolicyLevelPtr PolicyLevelPtr;
typedef _PolicyStatement PolicyStatement;
typedef _PolicyStatementPtr PolicyStatementPtr;
typedef _Site Site;
typedef _SitePtr SitePtr;
typedef _SiteMembershipCondition SiteMembershipCondition;
typedef _SiteMembershipConditionPtr SiteMembershipConditionPtr;
typedef _StrongName StrongName;
typedef _StrongNamePtr StrongNamePtr;
typedef _StrongNameMembershipCondition StrongNameMembershipCondition;
typedef _StrongNameMembershipConditionPtr StrongNameMembershipConditionPtr;
typedef _UnionCodeGroup UnionCodeGroup;
typedef _UnionCodeGroupPtr UnionCodeGroupPtr;
typedef _Url Url;
typedef _UrlPtr UrlPtr;
typedef _UrlMembershipCondition UrlMembershipCondition;
typedef _UrlMembershipConditionPtr UrlMembershipConditionPtr;
typedef _Zone Zone;
typedef _ZonePtr ZonePtr;
typedef _ZoneMembershipCondition ZoneMembershipCondition;
typedef _ZoneMembershipConditionPtr ZoneMembershipConditionPtr;
typedef _GacInstalled GacInstalled;
typedef _GacInstalledPtr GacInstalledPtr;
typedef _GacMembershipCondition GacMembershipCondition;
typedef _GacMembershipConditionPtr GacMembershipConditionPtr;
typedef _Hash Hash;
typedef _HashPtr HashPtr;
typedef _HashMembershipCondition HashMembershipCondition;
typedef _HashMembershipConditionPtr HashMembershipConditionPtr;
typedef _Publisher Publisher;
typedef _PublisherPtr PublisherPtr;
typedef _PublisherMembershipCondition PublisherMembershipCondition;
typedef _PublisherMembershipConditionPtr PublisherMembershipConditionPtr;
typedef _GenericIdentity GenericIdentity;
typedef _GenericIdentityPtr GenericIdentityPtr;
typedef _GenericPrincipal GenericPrincipal;
typedef _GenericPrincipalPtr GenericPrincipalPtr;
typedef _WindowsIdentity WindowsIdentity;
typedef _WindowsIdentityPtr WindowsIdentityPtr;
typedef _WindowsImpersonationContext WindowsImpersonationContext;
typedef _WindowsImpersonationContextPtr WindowsImpersonationContextPtr;
typedef _WindowsPrincipal WindowsPrincipal;
typedef _WindowsPrincipalPtr WindowsPrincipalPtr;
typedef _UnmanagedFunctionPointerAttribute UnmanagedFunctionPointerAttribute;
typedef _UnmanagedFunctionPointerAttributePtr UnmanagedFunctionPointerAttributePtr;
typedef _DispIdAttribute DispIdAttribute;
typedef _DispIdAttributePtr DispIdAttributePtr;
typedef _InterfaceTypeAttribute InterfaceTypeAttribute;
typedef _InterfaceTypeAttributePtr InterfaceTypeAttributePtr;
typedef _ComDefaultInterfaceAttribute ComDefaultInterfaceAttribute;
typedef _ComDefaultInterfaceAttributePtr ComDefaultInterfaceAttributePtr;
typedef _ClassInterfaceAttribute ClassInterfaceAttribute;
typedef _ClassInterfaceAttributePtr ClassInterfaceAttributePtr;
typedef _ComVisibleAttribute ComVisibleAttribute;
typedef _ComVisibleAttributePtr ComVisibleAttributePtr;
typedef _TypeLibImportClassAttribute TypeLibImportClassAttribute;
typedef _TypeLibImportClassAttributePtr TypeLibImportClassAttributePtr;
typedef _LCIDConversionAttribute LCIDConversionAttribute;
typedef _LCIDConversionAttributePtr LCIDConversionAttributePtr;
typedef _ComRegisterFunctionAttribute ComRegisterFunctionAttribute;
typedef _ComRegisterFunctionAttributePtr ComRegisterFunctionAttributePtr;
typedef _ComUnregisterFunctionAttribute ComUnregisterFunctionAttribute;
typedef _ComUnregisterFunctionAttributePtr ComUnregisterFunctionAttributePtr;
typedef _ProgIdAttribute ProgIdAttribute;
typedef _ProgIdAttributePtr ProgIdAttributePtr;
typedef _ImportedFromTypeLibAttribute ImportedFromTypeLibAttribute;
typedef _ImportedFromTypeLibAttributePtr ImportedFromTypeLibAttributePtr;
typedef _IDispatchImplAttribute IDispatchImplAttribute;
typedef _IDispatchImplAttributePtr IDispatchImplAttributePtr;
typedef _ComSourceInterfacesAttribute ComSourceInterfacesAttribute;
typedef _ComSourceInterfacesAttributePtr ComSourceInterfacesAttributePtr;
typedef _ComConversionLossAttribute ComConversionLossAttribute;
typedef _ComConversionLossAttributePtr ComConversionLossAttributePtr;
typedef _TypeLibTypeAttribute TypeLibTypeAttribute;
typedef _TypeLibTypeAttributePtr TypeLibTypeAttributePtr;
typedef _TypeLibFuncAttribute TypeLibFuncAttribute;
typedef _TypeLibFuncAttributePtr TypeLibFuncAttributePtr;
typedef _TypeLibVarAttribute TypeLibVarAttribute;
typedef _TypeLibVarAttributePtr TypeLibVarAttributePtr;
typedef _MarshalAsAttribute MarshalAsAttribute;
typedef _MarshalAsAttributePtr MarshalAsAttributePtr;
typedef _ComImportAttribute ComImportAttribute;
typedef _ComImportAttributePtr ComImportAttributePtr;
typedef _GuidAttribute GuidAttribute;
typedef _GuidAttributePtr GuidAttributePtr;
typedef _PreserveSigAttribute PreserveSigAttribute;
typedef _PreserveSigAttributePtr PreserveSigAttributePtr;
typedef _InAttribute InAttribute;
typedef _InAttributePtr InAttributePtr;
typedef _OutAttribute OutAttribute;
typedef _OutAttributePtr OutAttributePtr;
typedef _OptionalAttribute OptionalAttribute;
typedef _OptionalAttributePtr OptionalAttributePtr;
typedef _DllImportAttribute DllImportAttribute;
typedef _DllImportAttributePtr DllImportAttributePtr;
typedef _StructLayoutAttribute StructLayoutAttribute;
typedef _StructLayoutAttributePtr StructLayoutAttributePtr;
typedef _FieldOffsetAttribute FieldOffsetAttribute;
typedef _FieldOffsetAttributePtr FieldOffsetAttributePtr;
typedef _ComAliasNameAttribute ComAliasNameAttribute;
typedef _ComAliasNameAttributePtr ComAliasNameAttributePtr;
typedef _AutomationProxyAttribute AutomationProxyAttribute;
typedef _AutomationProxyAttributePtr AutomationProxyAttributePtr;
typedef _PrimaryInteropAssemblyAttribute PrimaryInteropAssemblyAttribute;
typedef _PrimaryInteropAssemblyAttributePtr PrimaryInteropAssemblyAttributePtr;
typedef _CoClassAttribute CoClassAttribute;
typedef _CoClassAttributePtr CoClassAttributePtr;
typedef _ComEventInterfaceAttribute ComEventInterfaceAttribute;
typedef _ComEventInterfaceAttributePtr ComEventInterfaceAttributePtr;
typedef _TypeLibVersionAttribute TypeLibVersionAttribute;
typedef _TypeLibVersionAttributePtr TypeLibVersionAttributePtr;
typedef _ComCompatibleVersionAttribute ComCompatibleVersionAttribute;
typedef _ComCompatibleVersionAttributePtr ComCompatibleVersionAttributePtr;
typedef _BestFitMappingAttribute BestFitMappingAttribute;
typedef _BestFitMappingAttributePtr BestFitMappingAttributePtr;
typedef _DefaultCharSetAttribute DefaultCharSetAttribute;
typedef _DefaultCharSetAttributePtr DefaultCharSetAttributePtr;
typedef _SetWin32ContextInIDispatchAttribute SetWin32ContextInIDispatchAttribute;
typedef _SetWin32ContextInIDispatchAttributePtr SetWin32ContextInIDispatchAttributePtr;
typedef _ExternalException ExternalException;
typedef _ExternalExceptionPtr ExternalExceptionPtr;
typedef _COMException COMException;
typedef _COMExceptionPtr COMExceptionPtr;
typedef _InvalidOleVariantTypeException InvalidOleVariantTypeException;
typedef _InvalidOleVariantTypeExceptionPtr InvalidOleVariantTypeExceptionPtr;
typedef _MarshalDirectiveException MarshalDirectiveException;
typedef _MarshalDirectiveExceptionPtr MarshalDirectiveExceptionPtr;
typedef _RuntimeEnvironment RuntimeEnvironment;
typedef _RuntimeEnvironmentPtr RuntimeEnvironmentPtr;
typedef _SEHException SEHException;
typedef _SEHExceptionPtr SEHExceptionPtr;
typedef _BStrWrapper BStrWrapper;
typedef _BStrWrapperPtr BStrWrapperPtr;
typedef _CurrencyWrapper CurrencyWrapper;
typedef _CurrencyWrapperPtr CurrencyWrapperPtr;
typedef _DispatchWrapper DispatchWrapper;
typedef _DispatchWrapperPtr DispatchWrapperPtr;
typedef _ErrorWrapper ErrorWrapper;
typedef _ErrorWrapperPtr ErrorWrapperPtr;
typedef _ExtensibleClassFactory ExtensibleClassFactory;
typedef _ExtensibleClassFactoryPtr ExtensibleClassFactoryPtr;
typedef _InvalidComObjectException InvalidComObjectException;
typedef _InvalidComObjectExceptionPtr InvalidComObjectExceptionPtr;
typedef _ObjectCreationDelegate ObjectCreationDelegate;
typedef _ObjectCreationDelegatePtr ObjectCreationDelegatePtr;
typedef _SafeArrayRankMismatchException SafeArrayRankMismatchException;
typedef _SafeArrayRankMismatchExceptionPtr SafeArrayRankMismatchExceptionPtr;
typedef _SafeArrayTypeMismatchException SafeArrayTypeMismatchException;
typedef _SafeArrayTypeMismatchExceptionPtr SafeArrayTypeMismatchExceptionPtr;
typedef _UnknownWrapper UnknownWrapper;
typedef _UnknownWrapperPtr UnknownWrapperPtr;
typedef _Stream Stream;
typedef _StreamPtr StreamPtr;
typedef _BinaryReader BinaryReader;
typedef _BinaryReaderPtr BinaryReaderPtr;
typedef _BinaryWriter BinaryWriter;
typedef _BinaryWriterPtr BinaryWriterPtr;
typedef _BufferedStream BufferedStream;
typedef _BufferedStreamPtr BufferedStreamPtr;
typedef _Directory Directory;
typedef _DirectoryPtr DirectoryPtr;
typedef _FileSystemInfo FileSystemInfo;
typedef _FileSystemInfoPtr FileSystemInfoPtr;
typedef _DirectoryInfo DirectoryInfo;
typedef _DirectoryInfoPtr DirectoryInfoPtr;
typedef _IOException IOException;
typedef _IOExceptionPtr IOExceptionPtr;
typedef _DirectoryNotFoundException DirectoryNotFoundException;
typedef _DirectoryNotFoundExceptionPtr DirectoryNotFoundExceptionPtr;
typedef _DriveInfo DriveInfo;
typedef _DriveInfoPtr DriveInfoPtr;
typedef _DriveNotFoundException DriveNotFoundException;
typedef _DriveNotFoundExceptionPtr DriveNotFoundExceptionPtr;
typedef _EndOfStreamException EndOfStreamException;
typedef _EndOfStreamExceptionPtr EndOfStreamExceptionPtr;
typedef _File File;
typedef _FilePtr FilePtr;
typedef _FileInfo FileInfo;
typedef _FileInfoPtr FileInfoPtr;
typedef _FileLoadException FileLoadException;
typedef _FileLoadExceptionPtr FileLoadExceptionPtr;
typedef _FileNotFoundException FileNotFoundException;
typedef _FileNotFoundExceptionPtr FileNotFoundExceptionPtr;
typedef _FileStream FileStream;
typedef _FileStreamPtr FileStreamPtr;
typedef _MemoryStream MemoryStream;
typedef _MemoryStreamPtr MemoryStreamPtr;
typedef _Path Path;
typedef _PathPtr PathPtr;
typedef _PathTooLongException PathTooLongException;
typedef _PathTooLongExceptionPtr PathTooLongExceptionPtr;
typedef _TextReader TextReader;
typedef _TextReaderPtr TextReaderPtr;
typedef _StreamReader StreamReader;
typedef _StreamReaderPtr StreamReaderPtr;
typedef _TextWriter TextWriter;
typedef _TextWriterPtr TextWriterPtr;
typedef _StreamWriter StreamWriter;
typedef _StreamWriterPtr StreamWriterPtr;
typedef _StringReader StringReader;
typedef _StringReaderPtr StringReaderPtr;
typedef _StringWriter StringWriter;
typedef _StringWriterPtr StringWriterPtr;
typedef _AccessedThroughPropertyAttribute AccessedThroughPropertyAttribute;
typedef _AccessedThroughPropertyAttributePtr AccessedThroughPropertyAttributePtr;
typedef _CallConvCdecl CallConvCdecl;
typedef _CallConvCdeclPtr CallConvCdeclPtr;
typedef _CallConvStdcall CallConvStdcall;
typedef _CallConvStdcallPtr CallConvStdcallPtr;
typedef _CallConvThiscall CallConvThiscall;
typedef _CallConvThiscallPtr CallConvThiscallPtr;
typedef _CallConvFastcall CallConvFastcall;
typedef _CallConvFastcallPtr CallConvFastcallPtr;
typedef _CustomConstantAttribute CustomConstantAttribute;
typedef _CustomConstantAttributePtr CustomConstantAttributePtr;
typedef _DateTimeConstantAttribute DateTimeConstantAttribute;
typedef _DateTimeConstantAttributePtr DateTimeConstantAttributePtr;
typedef _DiscardableAttribute DiscardableAttribute;
typedef _DiscardableAttributePtr DiscardableAttributePtr;
typedef _DecimalConstantAttribute DecimalConstantAttribute;
typedef _DecimalConstantAttributePtr DecimalConstantAttributePtr;
typedef _CompilationRelaxationsAttribute CompilationRelaxationsAttribute;
typedef _CompilationRelaxationsAttributePtr CompilationRelaxationsAttributePtr;
typedef _CompilerGlobalScopeAttribute CompilerGlobalScopeAttribute;
typedef _CompilerGlobalScopeAttributePtr CompilerGlobalScopeAttributePtr;
typedef _IndexerNameAttribute IndexerNameAttribute;
typedef _IndexerNameAttributePtr IndexerNameAttributePtr;
typedef _IsVolatile IsVolatile;
typedef _IsVolatilePtr IsVolatilePtr;
typedef _MethodImplAttribute MethodImplAttribute;
typedef _MethodImplAttributePtr MethodImplAttributePtr;
typedef _RequiredAttributeAttribute RequiredAttributeAttribute;
typedef _RequiredAttributeAttributePtr RequiredAttributeAttributePtr;
typedef _IsCopyConstructed IsCopyConstructed;
typedef _IsCopyConstructedPtr IsCopyConstructedPtr;
typedef _NativeCppClassAttribute NativeCppClassAttribute;
typedef _NativeCppClassAttributePtr NativeCppClassAttributePtr;
typedef _IDispatchConstantAttribute IDispatchConstantAttribute;
typedef _IDispatchConstantAttributePtr IDispatchConstantAttributePtr;
typedef _IUnknownConstantAttribute IUnknownConstantAttribute;
typedef _IUnknownConstantAttributePtr IUnknownConstantAttributePtr;
typedef _SecurityElement SecurityElement;
typedef _SecurityElementPtr SecurityElementPtr;
typedef _XmlSyntaxException XmlSyntaxException;
typedef _XmlSyntaxExceptionPtr XmlSyntaxExceptionPtr;
typedef _CodeAccessPermission CodeAccessPermission;
typedef _CodeAccessPermissionPtr CodeAccessPermissionPtr;
typedef _EnvironmentPermission EnvironmentPermission;
typedef _EnvironmentPermissionPtr EnvironmentPermissionPtr;
typedef _FileDialogPermission FileDialogPermission;
typedef _FileDialogPermissionPtr FileDialogPermissionPtr;
typedef _FileIOPermission FileIOPermission;
typedef _FileIOPermissionPtr FileIOPermissionPtr;
typedef _SecurityAttribute SecurityAttribute;
typedef _SecurityAttributePtr SecurityAttributePtr;
typedef _CodeAccessSecurityAttribute CodeAccessSecurityAttribute;
typedef _CodeAccessSecurityAttributePtr CodeAccessSecurityAttributePtr;
typedef _HostProtectionAttribute HostProtectionAttribute;
typedef _HostProtectionAttributePtr HostProtectionAttributePtr;
typedef _IsolatedStoragePermission IsolatedStoragePermission;
typedef _IsolatedStoragePermissionPtr IsolatedStoragePermissionPtr;
typedef _IsolatedStorageFilePermission IsolatedStorageFilePermission;
typedef _IsolatedStorageFilePermissionPtr IsolatedStorageFilePermissionPtr;
typedef _EnvironmentPermissionAttribute EnvironmentPermissionAttribute;
typedef _EnvironmentPermissionAttributePtr EnvironmentPermissionAttributePtr;
typedef _FileDialogPermissionAttribute FileDialogPermissionAttribute;
typedef _FileDialogPermissionAttributePtr FileDialogPermissionAttributePtr;
typedef _FileIOPermissionAttribute FileIOPermissionAttribute;
typedef _FileIOPermissionAttributePtr FileIOPermissionAttributePtr;
typedef _KeyContainerPermissionAttribute KeyContainerPermissionAttribute;
typedef _KeyContainerPermissionAttributePtr KeyContainerPermissionAttributePtr;
typedef _PrincipalPermissionAttribute PrincipalPermissionAttribute;
typedef _PrincipalPermissionAttributePtr PrincipalPermissionAttributePtr;
typedef _ReflectionPermissionAttribute ReflectionPermissionAttribute;
typedef _ReflectionPermissionAttributePtr ReflectionPermissionAttributePtr;
typedef _RegistryPermissionAttribute RegistryPermissionAttribute;
typedef _RegistryPermissionAttributePtr RegistryPermissionAttributePtr;
typedef _SecurityPermissionAttribute SecurityPermissionAttribute;
typedef _SecurityPermissionAttributePtr SecurityPermissionAttributePtr;
typedef _UIPermissionAttribute UIPermissionAttribute;
typedef _UIPermissionAttributePtr UIPermissionAttributePtr;
typedef _ZoneIdentityPermissionAttribute ZoneIdentityPermissionAttribute;
typedef _ZoneIdentityPermissionAttributePtr ZoneIdentityPermissionAttributePtr;
typedef _StrongNameIdentityPermissionAttribute StrongNameIdentityPermissionAttribute;
typedef _StrongNameIdentityPermissionAttributePtr StrongNameIdentityPermissionAttributePtr;
typedef _SiteIdentityPermissionAttribute SiteIdentityPermissionAttribute;
typedef _SiteIdentityPermissionAttributePtr SiteIdentityPermissionAttributePtr;
typedef _UrlIdentityPermissionAttribute UrlIdentityPermissionAttribute;
typedef _UrlIdentityPermissionAttributePtr UrlIdentityPermissionAttributePtr;
typedef _PublisherIdentityPermissionAttribute PublisherIdentityPermissionAttribute;
typedef _PublisherIdentityPermissionAttributePtr PublisherIdentityPermissionAttributePtr;
typedef _IsolatedStoragePermissionAttribute IsolatedStoragePermissionAttribute;
typedef _IsolatedStoragePermissionAttributePtr IsolatedStoragePermissionAttributePtr;
typedef _IsolatedStorageFilePermissionAttribute IsolatedStorageFilePermissionAttribute;
typedef _IsolatedStorageFilePermissionAttributePtr IsolatedStorageFilePermissionAttributePtr;
typedef _PermissionSetAttribute PermissionSetAttribute;
typedef _PermissionSetAttributePtr PermissionSetAttributePtr;
typedef _ReflectionPermission ReflectionPermission;
typedef _ReflectionPermissionPtr ReflectionPermissionPtr;
typedef _PrincipalPermission PrincipalPermission;
typedef _PrincipalPermissionPtr PrincipalPermissionPtr;
typedef _SecurityPermission SecurityPermission;
typedef _SecurityPermissionPtr SecurityPermissionPtr;
typedef _SiteIdentityPermission SiteIdentityPermission;
typedef _SiteIdentityPermissionPtr SiteIdentityPermissionPtr;
typedef _StrongNameIdentityPermission StrongNameIdentityPermission;
typedef _StrongNameIdentityPermissionPtr StrongNameIdentityPermissionPtr;
typedef _StrongNamePublicKeyBlob StrongNamePublicKeyBlob;
typedef _StrongNamePublicKeyBlobPtr StrongNamePublicKeyBlobPtr;
typedef _UIPermission UIPermission;
typedef _UIPermissionPtr UIPermissionPtr;
typedef _UrlIdentityPermission UrlIdentityPermission;
typedef _UrlIdentityPermissionPtr UrlIdentityPermissionPtr;
typedef _ZoneIdentityPermission ZoneIdentityPermission;
typedef _ZoneIdentityPermissionPtr ZoneIdentityPermissionPtr;
typedef _GacIdentityPermissionAttribute GacIdentityPermissionAttribute;
typedef _GacIdentityPermissionAttributePtr GacIdentityPermissionAttributePtr;
typedef _GacIdentityPermission GacIdentityPermission;
typedef _GacIdentityPermissionPtr GacIdentityPermissionPtr;
typedef _KeyContainerPermissionAccessEntry KeyContainerPermissionAccessEntry;
typedef _KeyContainerPermissionAccessEntryPtr KeyContainerPermissionAccessEntryPtr;
typedef _KeyContainerPermissionAccessEntryCollection KeyContainerPermissionAccessEntryCollection;
typedef _KeyContainerPermissionAccessEntryCollectionPtr KeyContainerPermissionAccessEntryCollectionPtr;
typedef _KeyContainerPermissionAccessEntryEnumerator KeyContainerPermissionAccessEntryEnumerator;
typedef _KeyContainerPermissionAccessEntryEnumeratorPtr KeyContainerPermissionAccessEntryEnumeratorPtr;
typedef _KeyContainerPermission KeyContainerPermission;
typedef _KeyContainerPermissionPtr KeyContainerPermissionPtr;
typedef _PublisherIdentityPermission PublisherIdentityPermission;
typedef _PublisherIdentityPermissionPtr PublisherIdentityPermissionPtr;
typedef _RegistryPermission RegistryPermission;
typedef _RegistryPermissionPtr RegistryPermissionPtr;
typedef _SuppressUnmanagedCodeSecurityAttribute SuppressUnmanagedCodeSecurityAttribute;
typedef _SuppressUnmanagedCodeSecurityAttributePtr SuppressUnmanagedCodeSecurityAttributePtr;
typedef _UnverifiableCodeAttribute UnverifiableCodeAttribute;
typedef _UnverifiableCodeAttributePtr UnverifiableCodeAttributePtr;
typedef _AllowPartiallyTrustedCallersAttribute AllowPartiallyTrustedCallersAttribute;
typedef _AllowPartiallyTrustedCallersAttributePtr AllowPartiallyTrustedCallersAttributePtr;
typedef _HostSecurityManager HostSecurityManager;
typedef _HostSecurityManagerPtr HostSecurityManagerPtr;
typedef _PermissionSet PermissionSet;
typedef _PermissionSetPtr PermissionSetPtr;
typedef _NamedPermissionSet NamedPermissionSet;
typedef _NamedPermissionSetPtr NamedPermissionSetPtr;
typedef _SecurityException SecurityException;
typedef _SecurityExceptionPtr SecurityExceptionPtr;
typedef _HostProtectionException HostProtectionException;
typedef _HostProtectionExceptionPtr HostProtectionExceptionPtr;
typedef _SecurityManager SecurityManager;
typedef _SecurityManagerPtr SecurityManagerPtr;
typedef _VerificationException VerificationException;
typedef _VerificationExceptionPtr VerificationExceptionPtr;
typedef _ContextAttribute ContextAttribute;
typedef _ContextAttributePtr ContextAttributePtr;
typedef _AsyncResult AsyncResult;
typedef _AsyncResultPtr AsyncResultPtr;
typedef _CallContext CallContext;
typedef _CallContextPtr CallContextPtr;
typedef _LogicalCallContext LogicalCallContext;
typedef _LogicalCallContextPtr LogicalCallContextPtr;
typedef _ChannelServices ChannelServices;
typedef _ChannelServicesPtr ChannelServicesPtr;
typedef _ClientChannelSinkStack ClientChannelSinkStack;
typedef _ClientChannelSinkStackPtr ClientChannelSinkStackPtr;
typedef _ServerChannelSinkStack ServerChannelSinkStack;
typedef _ServerChannelSinkStackPtr ServerChannelSinkStackPtr;
typedef _ClientSponsor ClientSponsor;
typedef _ClientSponsorPtr ClientSponsorPtr;
typedef _CrossContextDelegate CrossContextDelegate;
typedef _CrossContextDelegatePtr CrossContextDelegatePtr;
typedef _Context Context;
typedef _ContextPtr ContextPtr;
typedef _ContextProperty ContextProperty;
typedef _ContextPropertyPtr ContextPropertyPtr;
typedef _EnterpriseServicesHelper EnterpriseServicesHelper;
typedef _EnterpriseServicesHelperPtr EnterpriseServicesHelperPtr;
typedef _Header Header;
typedef _HeaderPtr HeaderPtr;
typedef _HeaderHandler HeaderHandler;
typedef _HeaderHandlerPtr HeaderHandlerPtr;
typedef _ChannelDataStore ChannelDataStore;
typedef _ChannelDataStorePtr ChannelDataStorePtr;
typedef _TransportHeaders TransportHeaders;
typedef _TransportHeadersPtr TransportHeadersPtr;
typedef _SinkProviderData SinkProviderData;
typedef _SinkProviderDataPtr SinkProviderDataPtr;
typedef _BaseChannelObjectWithProperties BaseChannelObjectWithProperties;
typedef _BaseChannelObjectWithPropertiesPtr BaseChannelObjectWithPropertiesPtr;
typedef _BaseChannelSinkWithProperties BaseChannelSinkWithProperties;
typedef _BaseChannelSinkWithPropertiesPtr BaseChannelSinkWithPropertiesPtr;
typedef _BaseChannelWithProperties BaseChannelWithProperties;
typedef _BaseChannelWithPropertiesPtr BaseChannelWithPropertiesPtr;
typedef _LifetimeServices LifetimeServices;
typedef _LifetimeServicesPtr LifetimeServicesPtr;
typedef _ReturnMessage ReturnMessage;
typedef _ReturnMessagePtr ReturnMessagePtr;
typedef _MethodCall MethodCall;
typedef _MethodCallPtr MethodCallPtr;
typedef _ConstructionCall ConstructionCall;
typedef _ConstructionCallPtr ConstructionCallPtr;
typedef _MethodResponse MethodResponse;
typedef _MethodResponsePtr MethodResponsePtr;
typedef _ConstructionResponse ConstructionResponse;
typedef _ConstructionResponsePtr ConstructionResponsePtr;
typedef _InternalMessageWrapper InternalMessageWrapper;
typedef _InternalMessageWrapperPtr InternalMessageWrapperPtr;
typedef _MethodCallMessageWrapper MethodCallMessageWrapper;
typedef _MethodCallMessageWrapperPtr MethodCallMessageWrapperPtr;
typedef _MethodReturnMessageWrapper MethodReturnMessageWrapper;
typedef _MethodReturnMessageWrapperPtr MethodReturnMessageWrapperPtr;
typedef _ObjectHandle ObjectHandle;
typedef _ObjectHandlePtr ObjectHandlePtr;
typedef _ObjRef ObjRef;
typedef _ObjRefPtr ObjRefPtr;
typedef _OneWayAttribute OneWayAttribute;
typedef _OneWayAttributePtr OneWayAttributePtr;
typedef _ProxyAttribute ProxyAttribute;
typedef _ProxyAttributePtr ProxyAttributePtr;
typedef _RealProxy RealProxy;
typedef _RealProxyPtr RealProxyPtr;
typedef _SoapAttribute SoapAttribute;
typedef _SoapAttributePtr SoapAttributePtr;
typedef _SoapTypeAttribute SoapTypeAttribute;
typedef _SoapTypeAttributePtr SoapTypeAttributePtr;
typedef _SoapMethodAttribute SoapMethodAttribute;
typedef _SoapMethodAttributePtr SoapMethodAttributePtr;
typedef _SoapFieldAttribute SoapFieldAttribute;
typedef _SoapFieldAttributePtr SoapFieldAttributePtr;
typedef _SoapParameterAttribute SoapParameterAttribute;
typedef _SoapParameterAttributePtr SoapParameterAttributePtr;
typedef _RemotingConfiguration RemotingConfiguration;
typedef _RemotingConfigurationPtr RemotingConfigurationPtr;
typedef _TypeEntry TypeEntry;
typedef _TypeEntryPtr TypeEntryPtr;
typedef _ActivatedClientTypeEntry ActivatedClientTypeEntry;
typedef _ActivatedClientTypeEntryPtr ActivatedClientTypeEntryPtr;
typedef _ActivatedServiceTypeEntry ActivatedServiceTypeEntry;
typedef _ActivatedServiceTypeEntryPtr ActivatedServiceTypeEntryPtr;
typedef _WellKnownClientTypeEntry WellKnownClientTypeEntry;
typedef _WellKnownClientTypeEntryPtr WellKnownClientTypeEntryPtr;
typedef _WellKnownServiceTypeEntry WellKnownServiceTypeEntry;
typedef _WellKnownServiceTypeEntryPtr WellKnownServiceTypeEntryPtr;
typedef _RemotingException RemotingException;
typedef _RemotingExceptionPtr RemotingExceptionPtr;
typedef _ServerException ServerException;
typedef _ServerExceptionPtr ServerExceptionPtr;
typedef _RemotingTimeoutException RemotingTimeoutException;
typedef _RemotingTimeoutExceptionPtr RemotingTimeoutExceptionPtr;
typedef _RemotingServices RemotingServices;
typedef _RemotingServicesPtr RemotingServicesPtr;
typedef _InternalRemotingServices InternalRemotingServices;
typedef _InternalRemotingServicesPtr InternalRemotingServicesPtr;
typedef _MessageSurrogateFilter MessageSurrogateFilter;
typedef _MessageSurrogateFilterPtr MessageSurrogateFilterPtr;
typedef _RemotingSurrogateSelector RemotingSurrogateSelector;
typedef _RemotingSurrogateSelectorPtr RemotingSurrogateSelectorPtr;
typedef _SoapServices SoapServices;
typedef _SoapServicesPtr SoapServicesPtr;
typedef _SoapDateTime SoapDateTime;
typedef _SoapDateTimePtr SoapDateTimePtr;
typedef _SoapDuration SoapDuration;
typedef _SoapDurationPtr SoapDurationPtr;
typedef _SoapTime SoapTime;
typedef _SoapTimePtr SoapTimePtr;
typedef _SoapDate SoapDate;
typedef _SoapDatePtr SoapDatePtr;
typedef _SoapYearMonth SoapYearMonth;
typedef _SoapYearMonthPtr SoapYearMonthPtr;
typedef _SoapYear SoapYear;
typedef _SoapYearPtr SoapYearPtr;
typedef _SoapMonthDay SoapMonthDay;
typedef _SoapMonthDayPtr SoapMonthDayPtr;
typedef _SoapDay SoapDay;
typedef _SoapDayPtr SoapDayPtr;
typedef _SoapMonth SoapMonth;
typedef _SoapMonthPtr SoapMonthPtr;
typedef _SoapHexBinary SoapHexBinary;
typedef _SoapHexBinaryPtr SoapHexBinaryPtr;
typedef _SoapBase64Binary SoapBase64Binary;
typedef _SoapBase64BinaryPtr SoapBase64BinaryPtr;
typedef _SoapInteger SoapInteger;
typedef _SoapIntegerPtr SoapIntegerPtr;
typedef _SoapPositiveInteger SoapPositiveInteger;
typedef _SoapPositiveIntegerPtr SoapPositiveIntegerPtr;
typedef _SoapNonPositiveInteger SoapNonPositiveInteger;
typedef _SoapNonPositiveIntegerPtr SoapNonPositiveIntegerPtr;
typedef _SoapNonNegativeInteger SoapNonNegativeInteger;
typedef _SoapNonNegativeIntegerPtr SoapNonNegativeIntegerPtr;
typedef _SoapNegativeInteger SoapNegativeInteger;
typedef _SoapNegativeIntegerPtr SoapNegativeIntegerPtr;
typedef _SoapAnyUri SoapAnyUri;
typedef _SoapAnyUriPtr SoapAnyUriPtr;
typedef _SoapQName SoapQName;
typedef _SoapQNamePtr SoapQNamePtr;
typedef _SoapNotation SoapNotation;
typedef _SoapNotationPtr SoapNotationPtr;
typedef _SoapNormalizedString SoapNormalizedString;
typedef _SoapNormalizedStringPtr SoapNormalizedStringPtr;
typedef _SoapToken SoapToken;
typedef _SoapTokenPtr SoapTokenPtr;
typedef _SoapLanguage SoapLanguage;
typedef _SoapLanguagePtr SoapLanguagePtr;
typedef _SoapName SoapName;
typedef _SoapNamePtr SoapNamePtr;
typedef _SoapIdrefs SoapIdrefs;
typedef _SoapIdrefsPtr SoapIdrefsPtr;
typedef _SoapEntities SoapEntities;
typedef _SoapEntitiesPtr SoapEntitiesPtr;
typedef _SoapNmtoken SoapNmtoken;
typedef _SoapNmtokenPtr SoapNmtokenPtr;
typedef _SoapNmtokens SoapNmtokens;
typedef _SoapNmtokensPtr SoapNmtokensPtr;
typedef _SoapNcName SoapNcName;
typedef _SoapNcNamePtr SoapNcNamePtr;
typedef _SoapId SoapId;
typedef _SoapIdPtr SoapIdPtr;
typedef _SoapIdref SoapIdref;
typedef _SoapIdrefPtr SoapIdrefPtr;
typedef _SoapEntity SoapEntity;
typedef _SoapEntityPtr SoapEntityPtr;
typedef _SynchronizationAttribute SynchronizationAttribute;
typedef _SynchronizationAttributePtr SynchronizationAttributePtr;
typedef _TrackingServices TrackingServices;
typedef _TrackingServicesPtr TrackingServicesPtr;
typedef _UrlAttribute UrlAttribute;
typedef _UrlAttributePtr UrlAttributePtr;
typedef _IsolatedStorage IsolatedStorage;
typedef _IsolatedStoragePtr IsolatedStoragePtr;
typedef _IsolatedStorageFile IsolatedStorageFile;
typedef _IsolatedStorageFilePtr IsolatedStorageFilePtr;
typedef _IsolatedStorageFileStream IsolatedStorageFileStream;
typedef _IsolatedStorageFileStreamPtr IsolatedStorageFileStreamPtr;
typedef _IsolatedStorageException IsolatedStorageException;
typedef _IsolatedStorageExceptionPtr IsolatedStorageExceptionPtr;
typedef _InternalRM InternalRM;
typedef _InternalRMPtr InternalRMPtr;
typedef _InternalST InternalST;
typedef _InternalSTPtr InternalSTPtr;
typedef _SoapMessage SoapMessage;
typedef _SoapMessagePtr SoapMessagePtr;
typedef _SoapFault SoapFault;
typedef _SoapFaultPtr SoapFaultPtr;
typedef _ServerFault ServerFault;
typedef _ServerFaultPtr ServerFaultPtr;
typedef _BinaryFormatter BinaryFormatter;
typedef _BinaryFormatterPtr BinaryFormatterPtr;
typedef _DynamicILInfo DynamicILInfo;
typedef _DynamicILInfoPtr DynamicILInfoPtr;
typedef _DynamicMethod DynamicMethod;
typedef _DynamicMethodPtr DynamicMethodPtr;
typedef _OpCodes OpCodes;
typedef _OpCodesPtr OpCodesPtr;
typedef _GenericTypeParameterBuilder GenericTypeParameterBuilder;
typedef _GenericTypeParameterBuilderPtr GenericTypeParameterBuilderPtr;
typedef _UnmanagedMarshal UnmanagedMarshal;
typedef _UnmanagedMarshalPtr UnmanagedMarshalPtr;
typedef _KeySizes KeySizes;
typedef _KeySizesPtr KeySizesPtr;
typedef _CryptographicException CryptographicException;
typedef _CryptographicExceptionPtr CryptographicExceptionPtr;
typedef _CryptographicUnexpectedOperationException CryptographicUnexpectedOperationException;
typedef _CryptographicUnexpectedOperationExceptionPtr CryptographicUnexpectedOperationExceptionPtr;
typedef _RandomNumberGenerator RandomNumberGenerator;
typedef _RandomNumberGeneratorPtr RandomNumberGeneratorPtr;
typedef _RNGCryptoServiceProvider RNGCryptoServiceProvider;
typedef _RNGCryptoServiceProviderPtr RNGCryptoServiceProviderPtr;
typedef _AsymmetricAlgorithm AsymmetricAlgorithm;
typedef _AsymmetricAlgorithmPtr AsymmetricAlgorithmPtr;
typedef _AsymmetricKeyExchangeDeformatter AsymmetricKeyExchangeDeformatter;
typedef _AsymmetricKeyExchangeDeformatterPtr AsymmetricKeyExchangeDeformatterPtr;
typedef _AsymmetricKeyExchangeFormatter AsymmetricKeyExchangeFormatter;
typedef _AsymmetricKeyExchangeFormatterPtr AsymmetricKeyExchangeFormatterPtr;
typedef _AsymmetricSignatureDeformatter AsymmetricSignatureDeformatter;
typedef _AsymmetricSignatureDeformatterPtr AsymmetricSignatureDeformatterPtr;
typedef _AsymmetricSignatureFormatter AsymmetricSignatureFormatter;
typedef _AsymmetricSignatureFormatterPtr AsymmetricSignatureFormatterPtr;
typedef _ToBase64Transform ToBase64Transform;
typedef _ToBase64TransformPtr ToBase64TransformPtr;
typedef _FromBase64Transform FromBase64Transform;
typedef _FromBase64TransformPtr FromBase64TransformPtr;
typedef _CryptoAPITransform CryptoAPITransform;
typedef _CryptoAPITransformPtr CryptoAPITransformPtr;
typedef _CspParameters CspParameters;
typedef _CspParametersPtr CspParametersPtr;
typedef _CryptoConfig CryptoConfig;
typedef _CryptoConfigPtr CryptoConfigPtr;
typedef _CryptoStream CryptoStream;
typedef _CryptoStreamPtr CryptoStreamPtr;
typedef _SymmetricAlgorithm SymmetricAlgorithm;
typedef _SymmetricAlgorithmPtr SymmetricAlgorithmPtr;
typedef _DES DES;
typedef _DESPtr DESPtr;
typedef _DESCryptoServiceProvider DESCryptoServiceProvider;
typedef _DESCryptoServiceProviderPtr DESCryptoServiceProviderPtr;
typedef _DeriveBytes DeriveBytes;
typedef _DeriveBytesPtr DeriveBytesPtr;
typedef _DSA DSA;
typedef _DSAPtr DSAPtr;
typedef _DSACryptoServiceProvider DSACryptoServiceProvider;
typedef _DSACryptoServiceProviderPtr DSACryptoServiceProviderPtr;
typedef _DSASignatureDeformatter DSASignatureDeformatter;
typedef _DSASignatureDeformatterPtr DSASignatureDeformatterPtr;
typedef _DSASignatureFormatter DSASignatureFormatter;
typedef _DSASignatureFormatterPtr DSASignatureFormatterPtr;
typedef _HashAlgorithm HashAlgorithm;
typedef _HashAlgorithmPtr HashAlgorithmPtr;
typedef _KeyedHashAlgorithm KeyedHashAlgorithm;
typedef _KeyedHashAlgorithmPtr KeyedHashAlgorithmPtr;
typedef _HMAC HMAC;
typedef _HMACPtr HMACPtr;
typedef _HMACMD5 HMACMD5;
typedef _HMACMD5Ptr HMACMD5Ptr;
typedef _HMACRIPEMD160 HMACRIPEMD160;
typedef _HMACRIPEMD160Ptr HMACRIPEMD160Ptr;
typedef _HMACSHA1 HMACSHA1;
typedef _HMACSHA1Ptr HMACSHA1Ptr;
typedef _HMACSHA256 HMACSHA256;
typedef _HMACSHA256Ptr HMACSHA256Ptr;
typedef _HMACSHA384 HMACSHA384;
typedef _HMACSHA384Ptr HMACSHA384Ptr;
typedef _HMACSHA512 HMACSHA512;
typedef _HMACSHA512Ptr HMACSHA512Ptr;
typedef _CspKeyContainerInfo CspKeyContainerInfo;
typedef _CspKeyContainerInfoPtr CspKeyContainerInfoPtr;
typedef _MACTripleDES MACTripleDES;
typedef _MACTripleDESPtr MACTripleDESPtr;
typedef _MD5 MD5;
typedef _MD5Ptr MD5Ptr;
typedef _MD5CryptoServiceProvider MD5CryptoServiceProvider;
typedef _MD5CryptoServiceProviderPtr MD5CryptoServiceProviderPtr;
typedef _MaskGenerationMethod MaskGenerationMethod;
typedef _MaskGenerationMethodPtr MaskGenerationMethodPtr;
typedef _PasswordDeriveBytes PasswordDeriveBytes;
typedef _PasswordDeriveBytesPtr PasswordDeriveBytesPtr;
typedef _PKCS1MaskGenerationMethod PKCS1MaskGenerationMethod;
typedef _PKCS1MaskGenerationMethodPtr PKCS1MaskGenerationMethodPtr;
typedef _RC2 RC2;
typedef _RC2Ptr RC2Ptr;
typedef _RC2CryptoServiceProvider RC2CryptoServiceProvider;
typedef _RC2CryptoServiceProviderPtr RC2CryptoServiceProviderPtr;
typedef _Rfc2898DeriveBytes Rfc2898DeriveBytes;
typedef _Rfc2898DeriveBytesPtr Rfc2898DeriveBytesPtr;
typedef _RIPEMD160 RIPEMD160;
typedef _RIPEMD160Ptr RIPEMD160Ptr;
typedef _RIPEMD160Managed RIPEMD160Managed;
typedef _RIPEMD160ManagedPtr RIPEMD160ManagedPtr;
typedef _RSA RSA;
typedef _RSAPtr RSAPtr;
typedef _RSACryptoServiceProvider RSACryptoServiceProvider;
typedef _RSACryptoServiceProviderPtr RSACryptoServiceProviderPtr;
typedef _RSAOAEPKeyExchangeDeformatter RSAOAEPKeyExchangeDeformatter;
typedef _RSAOAEPKeyExchangeDeformatterPtr RSAOAEPKeyExchangeDeformatterPtr;
typedef _RSAOAEPKeyExchangeFormatter RSAOAEPKeyExchangeFormatter;
typedef _RSAOAEPKeyExchangeFormatterPtr RSAOAEPKeyExchangeFormatterPtr;
typedef _RSAPKCS1KeyExchangeDeformatter RSAPKCS1KeyExchangeDeformatter;
typedef _RSAPKCS1KeyExchangeDeformatterPtr RSAPKCS1KeyExchangeDeformatterPtr;
typedef _RSAPKCS1KeyExchangeFormatter RSAPKCS1KeyExchangeFormatter;
typedef _RSAPKCS1KeyExchangeFormatterPtr RSAPKCS1KeyExchangeFormatterPtr;
typedef _RSAPKCS1SignatureDeformatter RSAPKCS1SignatureDeformatter;
typedef _RSAPKCS1SignatureDeformatterPtr RSAPKCS1SignatureDeformatterPtr;
typedef _RSAPKCS1SignatureFormatter RSAPKCS1SignatureFormatter;
typedef _RSAPKCS1SignatureFormatterPtr RSAPKCS1SignatureFormatterPtr;
typedef _Rijndael Rijndael;
typedef _RijndaelPtr RijndaelPtr;
typedef _RijndaelManaged RijndaelManaged;
typedef _RijndaelManagedPtr RijndaelManagedPtr;
typedef _RijndaelManagedTransform RijndaelManagedTransform;
typedef _RijndaelManagedTransformPtr RijndaelManagedTransformPtr;
typedef _SHA1 SHA1;
typedef _SHA1Ptr SHA1Ptr;
typedef _SHA1CryptoServiceProvider SHA1CryptoServiceProvider;
typedef _SHA1CryptoServiceProviderPtr SHA1CryptoServiceProviderPtr;
typedef _SHA1Managed SHA1Managed;
typedef _SHA1ManagedPtr SHA1ManagedPtr;
typedef _SHA256 SHA256;
typedef _SHA256Ptr SHA256Ptr;
typedef _SHA256Managed SHA256Managed;
typedef _SHA256ManagedPtr SHA256ManagedPtr;
typedef _SHA384 SHA384;
typedef _SHA384Ptr SHA384Ptr;
typedef _SHA384Managed SHA384Managed;
typedef _SHA384ManagedPtr SHA384ManagedPtr;
typedef _SHA512 SHA512;
typedef _SHA512Ptr SHA512Ptr;
typedef _SHA512Managed SHA512Managed;
typedef _SHA512ManagedPtr SHA512ManagedPtr;
typedef _SignatureDescription SignatureDescription;
typedef _SignatureDescriptionPtr SignatureDescriptionPtr;
typedef _TripleDES TripleDES;
typedef _TripleDESPtr TripleDESPtr;
typedef _TripleDESCryptoServiceProvider TripleDESCryptoServiceProvider;
typedef _TripleDESCryptoServiceProviderPtr TripleDESCryptoServiceProviderPtr;
typedef _X509Certificate X509Certificate;
typedef _X509CertificatePtr X509CertificatePtr;

#define LIBID_OF_Exception (&LIBID_mscorlib)
#define LIBID_OF_Activator (&LIBID_mscorlib)
#define LIBID_OF_AppDomain (&LIBID_mscorlib)
#define LIBID_OF_AppDomainSetup (&LIBID_mscorlib)
#define LIBID_OF_Attribute (&LIBID_mscorlib)
#define LIBID_OF_MemberInfo (&LIBID_mscorlib)
#define LIBID_OF_Type (&LIBID_mscorlib)
#define LIBID_OF_Thread (&LIBID_mscorlib)
#define LIBID_OF_Assembly (&LIBID_mscorlib)
#define LIBID_OF_AssemblyName (&LIBID_mscorlib)
#define LIBID_OF_Module (&LIBID_mscorlib)
#define LIBID_OF_MethodBase (&LIBID_mscorlib)
#define LIBID_OF_ConstructorInfo (&LIBID_mscorlib)
#define LIBID_OF_MethodInfo (&LIBID_mscorlib)
#define LIBID_OF_FieldInfo (&LIBID_mscorlib)
#define LIBID_OF_EventInfo (&LIBID_mscorlib)
#define LIBID_OF_PropertyInfo (&LIBID_mscorlib)
#define LIBID_OF_ParameterInfo (&LIBID_mscorlib)
#define LIBID_OF_RegistrationServices (&LIBID_mscorlib)
#define LIBID_OF_TypeLibConverter (&LIBID_mscorlib)
#define LIBID_OF_AssemblyBuilder (&LIBID_mscorlib)
#define LIBID_OF_ConstructorBuilder (&LIBID_mscorlib)
#define LIBID_OF_ILGenerator (&LIBID_mscorlib)
#define LIBID_OF_EventBuilder (&LIBID_mscorlib)
#define LIBID_OF_FieldBuilder (&LIBID_mscorlib)
#define LIBID_OF_LocalBuilder (&LIBID_mscorlib)
#define LIBID_OF_MethodBuilder (&LIBID_mscorlib)
#define LIBID_OF_CustomAttributeBuilder (&LIBID_mscorlib)
#define LIBID_OF_MethodRental (&LIBID_mscorlib)
#define LIBID_OF_ModuleBuilder (&LIBID_mscorlib)
#define LIBID_OF_ParameterBuilder (&LIBID_mscorlib)
#define LIBID_OF_PropertyBuilder (&LIBID_mscorlib)
#define LIBID_OF_SignatureHelper (&LIBID_mscorlib)
#define LIBID_OF_TypeBuilder (&LIBID_mscorlib)
#define LIBID_OF_EnumBuilder (&LIBID_mscorlib)
#define LIBID_OF_Object (&LIBID_mscorlib)
#define LIBID_OF_Array (&LIBID_mscorlib)
#define LIBID_OF_ValueType (&LIBID_mscorlib)
#define LIBID_OF_Enum (&LIBID_mscorlib)
#define LIBID_OF_String (&LIBID_mscorlib)
#define LIBID_OF_StringComparer (&LIBID_mscorlib)
#define LIBID_OF_StringBuilder (&LIBID_mscorlib)
#define LIBID_OF_SystemException (&LIBID_mscorlib)
#define LIBID_OF_OutOfMemoryException (&LIBID_mscorlib)
#define LIBID_OF_StackOverflowException (&LIBID_mscorlib)
#define LIBID_OF_DataMisalignedException (&LIBID_mscorlib)
#define LIBID_OF_ExecutionEngineException (&LIBID_mscorlib)
#define LIBID_OF_Delegate (&LIBID_mscorlib)
#define LIBID_OF_MulticastDelegate (&LIBID_mscorlib)
#define LIBID_OF_MemberAccessException (&LIBID_mscorlib)
#define LIBID_OF_AccessViolationException (&LIBID_mscorlib)
#define LIBID_OF_ApplicationActivator (&LIBID_mscorlib)
#define LIBID_OF_ApplicationException (&LIBID_mscorlib)
#define LIBID_OF_EventArgs (&LIBID_mscorlib)
#define LIBID_OF_ResolveEventArgs (&LIBID_mscorlib)
#define LIBID_OF_AssemblyLoadEventArgs (&LIBID_mscorlib)
#define LIBID_OF_ResolveEventHandler (&LIBID_mscorlib)
#define LIBID_OF_AssemblyLoadEventHandler (&LIBID_mscorlib)
#define LIBID_OF_AppDomainInitializer (&LIBID_mscorlib)
#define LIBID_OF_MarshalByRefObject (&LIBID_mscorlib)
#define LIBID_OF_CrossAppDomainDelegate (&LIBID_mscorlib)
#define LIBID_OF_AppDomainManager (&LIBID_mscorlib)
#define LIBID_OF_LoaderOptimizationAttribute (&LIBID_mscorlib)
#define LIBID_OF_AppDomainUnloadedException (&LIBID_mscorlib)
#define LIBID_OF_ActivationArguments (&LIBID_mscorlib)
#define LIBID_OF_ApplicationId (&LIBID_mscorlib)
#define LIBID_OF_ArgumentException (&LIBID_mscorlib)
#define LIBID_OF_ArgumentNullException (&LIBID_mscorlib)
#define LIBID_OF_ArgumentOutOfRangeException (&LIBID_mscorlib)
#define LIBID_OF_ArithmeticException (&LIBID_mscorlib)
#define LIBID_OF_ArrayTypeMismatchException (&LIBID_mscorlib)
#define LIBID_OF_AsyncCallback (&LIBID_mscorlib)
#define LIBID_OF_AttributeUsageAttribute (&LIBID_mscorlib)
#define LIBID_OF_BadImageFormatException (&LIBID_mscorlib)
#define LIBID_OF_Buffer (&LIBID_mscorlib)
#define LIBID_OF_CannotUnloadAppDomainException (&LIBID_mscorlib)
#define LIBID_OF_CharEnumerator (&LIBID_mscorlib)
#define LIBID_OF_CLSCompliantAttribute (&LIBID_mscorlib)
#define LIBID_OF_TypeUnloadedException (&LIBID_mscorlib)
#define LIBID_OF_CriticalFinalizerObject (&LIBID_mscorlib)
#define LIBID_OF_ContextMarshalException (&LIBID_mscorlib)
#define LIBID_OF_ContextBoundObject (&LIBID_mscorlib)
#define LIBID_OF_ContextStaticAttribute (&LIBID_mscorlib)
#define LIBID_OF_TimeZone (&LIBID_mscorlib)
#define LIBID_OF_DBNull (&LIBID_mscorlib)
#define LIBID_OF_Binder (&LIBID_mscorlib)
#define LIBID_OF_DivideByZeroException (&LIBID_mscorlib)
#define LIBID_OF_DuplicateWaitObjectException (&LIBID_mscorlib)
#define LIBID_OF_TypeLoadException (&LIBID_mscorlib)
#define LIBID_OF_EntryPointNotFoundException (&LIBID_mscorlib)
#define LIBID_OF_DllNotFoundException (&LIBID_mscorlib)
#define LIBID_OF_Environment (&LIBID_mscorlib)
#define LIBID_OF_EventHandler (&LIBID_mscorlib)
#define LIBID_OF_FieldAccessException (&LIBID_mscorlib)
#define LIBID_OF_FlagsAttribute (&LIBID_mscorlib)
#define LIBID_OF_FormatException (&LIBID_mscorlib)
#define LIBID_OF_IndexOutOfRangeException (&LIBID_mscorlib)
#define LIBID_OF_InvalidCastException (&LIBID_mscorlib)
#define LIBID_OF_InvalidOperationException (&LIBID_mscorlib)
#define LIBID_OF_InvalidProgramException (&LIBID_mscorlib)
#define LIBID_OF_LocalDataStoreSlot (&LIBID_mscorlib)
#define LIBID_OF_MethodAccessException (&LIBID_mscorlib)
#define LIBID_OF_MissingMemberException (&LIBID_mscorlib)
#define LIBID_OF_MissingFieldException (&LIBID_mscorlib)
#define LIBID_OF_MissingMethodException (&LIBID_mscorlib)
#define LIBID_OF_MulticastNotSupportedException (&LIBID_mscorlib)
#define LIBID_OF_NonSerializedAttribute (&LIBID_mscorlib)
#define LIBID_OF_NotFiniteNumberException (&LIBID_mscorlib)
#define LIBID_OF_NotImplementedException (&LIBID_mscorlib)
#define LIBID_OF_NotSupportedException (&LIBID_mscorlib)
#define LIBID_OF_NullReferenceException (&LIBID_mscorlib)
#define LIBID_OF_ObjectDisposedException (&LIBID_mscorlib)
#define LIBID_OF_ObsoleteAttribute (&LIBID_mscorlib)
#define LIBID_OF_OperatingSystem (&LIBID_mscorlib)
#define LIBID_OF_OperationCanceledException (&LIBID_mscorlib)
#define LIBID_OF_OverflowException (&LIBID_mscorlib)
#define LIBID_OF_ParamArrayAttribute (&LIBID_mscorlib)
#define LIBID_OF_PlatformNotSupportedException (&LIBID_mscorlib)
#define LIBID_OF_Random (&LIBID_mscorlib)
#define LIBID_OF_RankException (&LIBID_mscorlib)
#define LIBID_OF_SerializableAttribute (&LIBID_mscorlib)
#define LIBID_OF_TimeoutException (&LIBID_mscorlib)
#define LIBID_OF_TypeInitializationException (&LIBID_mscorlib)
#define LIBID_OF_UnauthorizedAccessException (&LIBID_mscorlib)
#define LIBID_OF_UnhandledExceptionEventArgs (&LIBID_mscorlib)
#define LIBID_OF_UnhandledExceptionEventHandler (&LIBID_mscorlib)
#define LIBID_OF_Version (&LIBID_mscorlib)
#define LIBID_OF_WeakReference (&LIBID_mscorlib)
#define LIBID_OF_WaitHandle (&LIBID_mscorlib)
#define LIBID_OF_EventWaitHandle (&LIBID_mscorlib)
#define LIBID_OF_AutoResetEvent (&LIBID_mscorlib)
#define LIBID_OF_ContextCallback (&LIBID_mscorlib)
#define LIBID_OF_ManualResetEvent (&LIBID_mscorlib)
#define LIBID_OF_Monitor (&LIBID_mscorlib)
#define LIBID_OF_Mutex (&LIBID_mscorlib)
#define LIBID_OF_Overlapped (&LIBID_mscorlib)
#define LIBID_OF_ReaderWriterLock (&LIBID_mscorlib)
#define LIBID_OF_SynchronizationLockException (&LIBID_mscorlib)
#define LIBID_OF_ThreadAbortException (&LIBID_mscorlib)
#define LIBID_OF_ThreadInterruptedException (&LIBID_mscorlib)
#define LIBID_OF_RegisteredWaitHandle (&LIBID_mscorlib)
#define LIBID_OF_WaitCallback (&LIBID_mscorlib)
#define LIBID_OF_WaitOrTimerCallback (&LIBID_mscorlib)
#define LIBID_OF_IOCompletionCallback (&LIBID_mscorlib)
#define LIBID_OF_ThreadStart (&LIBID_mscorlib)
#define LIBID_OF_ThreadStateException (&LIBID_mscorlib)
#define LIBID_OF_ThreadStaticAttribute (&LIBID_mscorlib)
#define LIBID_OF_Timeout (&LIBID_mscorlib)
#define LIBID_OF_TimerCallback (&LIBID_mscorlib)
#define LIBID_OF_Timer (&LIBID_mscorlib)
#define LIBID_OF_STAThreadAttribute (&LIBID_mscorlib)
#define LIBID_OF_MTAThreadAttribute (&LIBID_mscorlib)
#define LIBID_OF_ArrayList (&LIBID_mscorlib)
#define LIBID_OF_BitArray (&LIBID_mscorlib)
#define LIBID_OF_CaseInsensitiveComparer (&LIBID_mscorlib)
#define LIBID_OF_CaseInsensitiveHashCodeProvider (&LIBID_mscorlib)
#define LIBID_OF_CollectionBase (&LIBID_mscorlib)
#define LIBID_OF_Comparer (&LIBID_mscorlib)
#define LIBID_OF_DictionaryBase (&LIBID_mscorlib)
#define LIBID_OF_Hashtable (&LIBID_mscorlib)
#define LIBID_OF_Queue (&LIBID_mscorlib)
#define LIBID_OF_ReadOnlyCollectionBase (&LIBID_mscorlib)
#define LIBID_OF_SortedList (&LIBID_mscorlib)
#define LIBID_OF_Stack (&LIBID_mscorlib)
#define LIBID_OF_Nullable (&LIBID_mscorlib)
#define LIBID_OF_KeyNotFoundException (&LIBID_mscorlib)
#define LIBID_OF_ConditionalAttribute (&LIBID_mscorlib)
#define LIBID_OF_Debugger (&LIBID_mscorlib)
#define LIBID_OF_DebuggerStepThroughAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggerStepperBoundaryAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggerHiddenAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggerNonUserCodeAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggableAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggerBrowsableAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggerTypeProxyAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggerDisplayAttribute (&LIBID_mscorlib)
#define LIBID_OF_DebuggerVisualizerAttribute (&LIBID_mscorlib)
#define LIBID_OF_StackTrace (&LIBID_mscorlib)
#define LIBID_OF_StackFrame (&LIBID_mscorlib)
#define LIBID_OF_SymDocumentType (&LIBID_mscorlib)
#define LIBID_OF_SymLanguageType (&LIBID_mscorlib)
#define LIBID_OF_SymLanguageVendor (&LIBID_mscorlib)
#define LIBID_OF_AmbiguousMatchException (&LIBID_mscorlib)
#define LIBID_OF_ModuleResolveEventHandler (&LIBID_mscorlib)
#define LIBID_OF_AssemblyCopyrightAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyTrademarkAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyProductAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyCompanyAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyDescriptionAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyTitleAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyConfigurationAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyDefaultAliasAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyInformationalVersionAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyFileVersionAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyCultureAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyVersionAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyKeyFileAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyDelaySignAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyAlgorithmIdAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyFlagsAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyKeyNameAttribute (&LIBID_mscorlib)
#define LIBID_OF_AssemblyNameProxy (&LIBID_mscorlib)
#define LIBID_OF_CustomAttributeFormatException (&LIBID_mscorlib)
#define LIBID_OF_CustomAttributeData (&LIBID_mscorlib)
#define LIBID_OF_DefaultMemberAttribute (&LIBID_mscorlib)
#define LIBID_OF_InvalidFilterCriteriaException (&LIBID_mscorlib)
#define LIBID_OF_ManifestResourceInfo (&LIBID_mscorlib)
#define LIBID_OF_MemberFilter (&LIBID_mscorlib)
#define LIBID_OF_Missing (&LIBID_mscorlib)
#define LIBID_OF_ObfuscateAssemblyAttribute (&LIBID_mscorlib)
#define LIBID_OF_ObfuscationAttribute (&LIBID_mscorlib)
#define LIBID_OF_ExceptionHandlingClause (&LIBID_mscorlib)
#define LIBID_OF_MethodBody (&LIBID_mscorlib)
#define LIBID_OF_LocalVariableInfo (&LIBID_mscorlib)
#define LIBID_OF_Pointer (&LIBID_mscorlib)
#define LIBID_OF_ReflectionTypeLoadException (&LIBID_mscorlib)
#define LIBID_OF_StrongNameKeyPair (&LIBID_mscorlib)
#define LIBID_OF_TargetException (&LIBID_mscorlib)
#define LIBID_OF_TargetInvocationException (&LIBID_mscorlib)
#define LIBID_OF_TargetParameterCountException (&LIBID_mscorlib)
#define LIBID_OF_TypeDelegator (&LIBID_mscorlib)
#define LIBID_OF_TypeFilter (&LIBID_mscorlib)
#define LIBID_OF_Formatter (&LIBID_mscorlib)
#define LIBID_OF_FormatterConverter (&LIBID_mscorlib)
#define LIBID_OF_FormatterServices (&LIBID_mscorlib)
#define LIBID_OF_ObjectIDGenerator (&LIBID_mscorlib)
#define LIBID_OF_ObjectManager (&LIBID_mscorlib)
#define LIBID_OF_OptionalFieldAttribute (&LIBID_mscorlib)
#define LIBID_OF_OnSerializingAttribute (&LIBID_mscorlib)
#define LIBID_OF_OnSerializedAttribute (&LIBID_mscorlib)
#define LIBID_OF_OnDeserializingAttribute (&LIBID_mscorlib)
#define LIBID_OF_OnDeserializedAttribute (&LIBID_mscorlib)
#define LIBID_OF_SerializationBinder (&LIBID_mscorlib)
#define LIBID_OF_SerializationInfo (&LIBID_mscorlib)
#define LIBID_OF_SerializationInfoEnumerator (&LIBID_mscorlib)
#define LIBID_OF_SerializationException (&LIBID_mscorlib)
#define LIBID_OF_SurrogateSelector (&LIBID_mscorlib)
#define LIBID_OF_Calendar (&LIBID_mscorlib)
#define LIBID_OF_EastAsianLunisolarCalendar (&LIBID_mscorlib)
#define LIBID_OF_CompareInfo (&LIBID_mscorlib)
#define LIBID_OF_CultureInfo (&LIBID_mscorlib)
#define LIBID_OF_DateTimeFormatInfo (&LIBID_mscorlib)
#define LIBID_OF_DaylightTime (&LIBID_mscorlib)
#define LIBID_OF_GregorianCalendar (&LIBID_mscorlib)
#define LIBID_OF_HebrewCalendar (&LIBID_mscorlib)
#define LIBID_OF_HijriCalendar (&LIBID_mscorlib)
#define LIBID_OF_JapaneseCalendar (&LIBID_mscorlib)
#define LIBID_OF_JulianCalendar (&LIBID_mscorlib)
#define LIBID_OF_KoreanCalendar (&LIBID_mscorlib)
#define LIBID_OF_RegionInfo (&LIBID_mscorlib)
#define LIBID_OF_SortKey (&LIBID_mscorlib)
#define LIBID_OF_StringInfo (&LIBID_mscorlib)
#define LIBID_OF_TaiwanCalendar (&LIBID_mscorlib)
#define LIBID_OF_TextElementEnumerator (&LIBID_mscorlib)
#define LIBID_OF_TextInfo (&LIBID_mscorlib)
#define LIBID_OF_ThaiBuddhistCalendar (&LIBID_mscorlib)
#define LIBID_OF_NumberFormatInfo (&LIBID_mscorlib)
#define LIBID_OF_Encoding (&LIBID_mscorlib)
#define LIBID_OF_Encoder (&LIBID_mscorlib)
#define LIBID_OF_Decoder (&LIBID_mscorlib)
#define LIBID_OF_ASCIIEncoding (&LIBID_mscorlib)
#define LIBID_OF_UnicodeEncoding (&LIBID_mscorlib)
#define LIBID_OF_UTF7Encoding (&LIBID_mscorlib)
#define LIBID_OF_UTF8Encoding (&LIBID_mscorlib)
#define LIBID_OF_MissingManifestResourceException (&LIBID_mscorlib)
#define LIBID_OF_MissingSatelliteAssemblyException (&LIBID_mscorlib)
#define LIBID_OF_NeutralResourcesLanguageAttribute (&LIBID_mscorlib)
#define LIBID_OF_ResourceManager (&LIBID_mscorlib)
#define LIBID_OF_ResourceReader (&LIBID_mscorlib)
#define LIBID_OF_ResourceSet (&LIBID_mscorlib)
#define LIBID_OF_ResourceWriter (&LIBID_mscorlib)
#define LIBID_OF_SatelliteContractVersionAttribute (&LIBID_mscorlib)
#define LIBID_OF_Registry (&LIBID_mscorlib)
#define LIBID_OF_RegistryKey (&LIBID_mscorlib)
#define LIBID_OF_AllMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_ApplicationDirectory (&LIBID_mscorlib)
#define LIBID_OF_ApplicationDirectoryMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_ApplicationSecurityInfo (&LIBID_mscorlib)
#define LIBID_OF_ApplicationSecurityManager (&LIBID_mscorlib)
#define LIBID_OF_ApplicationTrust (&LIBID_mscorlib)
#define LIBID_OF_ApplicationTrustCollection (&LIBID_mscorlib)
#define LIBID_OF_ApplicationTrustEnumerator (&LIBID_mscorlib)
#define LIBID_OF_CodeGroup (&LIBID_mscorlib)
#define LIBID_OF_Evidence (&LIBID_mscorlib)
#define LIBID_OF_FileCodeGroup (&LIBID_mscorlib)
#define LIBID_OF_FirstMatchCodeGroup (&LIBID_mscorlib)
#define LIBID_OF_TrustManagerContext (&LIBID_mscorlib)
#define LIBID_OF_CodeConnectAccess (&LIBID_mscorlib)
#define LIBID_OF_NetCodeGroup (&LIBID_mscorlib)
#define LIBID_OF_PermissionRequestEvidence (&LIBID_mscorlib)
#define LIBID_OF_PolicyException (&LIBID_mscorlib)
#define LIBID_OF_PolicyLevel (&LIBID_mscorlib)
#define LIBID_OF_PolicyStatement (&LIBID_mscorlib)
#define LIBID_OF_Site (&LIBID_mscorlib)
#define LIBID_OF_SiteMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_StrongName (&LIBID_mscorlib)
#define LIBID_OF_StrongNameMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_UnionCodeGroup (&LIBID_mscorlib)
#define LIBID_OF_Url (&LIBID_mscorlib)
#define LIBID_OF_UrlMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_Zone (&LIBID_mscorlib)
#define LIBID_OF_ZoneMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_GacInstalled (&LIBID_mscorlib)
#define LIBID_OF_GacMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_Hash (&LIBID_mscorlib)
#define LIBID_OF_HashMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_Publisher (&LIBID_mscorlib)
#define LIBID_OF_PublisherMembershipCondition (&LIBID_mscorlib)
#define LIBID_OF_GenericIdentity (&LIBID_mscorlib)
#define LIBID_OF_GenericPrincipal (&LIBID_mscorlib)
#define LIBID_OF_WindowsIdentity (&LIBID_mscorlib)
#define LIBID_OF_WindowsImpersonationContext (&LIBID_mscorlib)
#define LIBID_OF_WindowsPrincipal (&LIBID_mscorlib)
#define LIBID_OF_UnmanagedFunctionPointerAttribute (&LIBID_mscorlib)
#define LIBID_OF_DispIdAttribute (&LIBID_mscorlib)
#define LIBID_OF_InterfaceTypeAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComDefaultInterfaceAttribute (&LIBID_mscorlib)
#define LIBID_OF_ClassInterfaceAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComVisibleAttribute (&LIBID_mscorlib)
#define LIBID_OF_TypeLibImportClassAttribute (&LIBID_mscorlib)
#define LIBID_OF_LCIDConversionAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComRegisterFunctionAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComUnregisterFunctionAttribute (&LIBID_mscorlib)
#define LIBID_OF_ProgIdAttribute (&LIBID_mscorlib)
#define LIBID_OF_ImportedFromTypeLibAttribute (&LIBID_mscorlib)
#define LIBID_OF_IDispatchImplAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComSourceInterfacesAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComConversionLossAttribute (&LIBID_mscorlib)
#define LIBID_OF_TypeLibTypeAttribute (&LIBID_mscorlib)
#define LIBID_OF_TypeLibFuncAttribute (&LIBID_mscorlib)
#define LIBID_OF_TypeLibVarAttribute (&LIBID_mscorlib)
#define LIBID_OF_MarshalAsAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComImportAttribute (&LIBID_mscorlib)
#define LIBID_OF_GuidAttribute (&LIBID_mscorlib)
#define LIBID_OF_PreserveSigAttribute (&LIBID_mscorlib)
#define LIBID_OF_InAttribute (&LIBID_mscorlib)
#define LIBID_OF_OutAttribute (&LIBID_mscorlib)
#define LIBID_OF_OptionalAttribute (&LIBID_mscorlib)
#define LIBID_OF_DllImportAttribute (&LIBID_mscorlib)
#define LIBID_OF_StructLayoutAttribute (&LIBID_mscorlib)
#define LIBID_OF_FieldOffsetAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComAliasNameAttribute (&LIBID_mscorlib)
#define LIBID_OF_AutomationProxyAttribute (&LIBID_mscorlib)
#define LIBID_OF_PrimaryInteropAssemblyAttribute (&LIBID_mscorlib)
#define LIBID_OF_CoClassAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComEventInterfaceAttribute (&LIBID_mscorlib)
#define LIBID_OF_TypeLibVersionAttribute (&LIBID_mscorlib)
#define LIBID_OF_ComCompatibleVersionAttribute (&LIBID_mscorlib)
#define LIBID_OF_BestFitMappingAttribute (&LIBID_mscorlib)
#define LIBID_OF_DefaultCharSetAttribute (&LIBID_mscorlib)
#define LIBID_OF_SetWin32ContextInIDispatchAttribute (&LIBID_mscorlib)
#define LIBID_OF_ExternalException (&LIBID_mscorlib)
#define LIBID_OF_COMException (&LIBID_mscorlib)
#define LIBID_OF_InvalidOleVariantTypeException (&LIBID_mscorlib)
#define LIBID_OF_MarshalDirectiveException (&LIBID_mscorlib)
#define LIBID_OF_RuntimeEnvironment (&LIBID_mscorlib)
#define LIBID_OF_SEHException (&LIBID_mscorlib)
#define LIBID_OF_BStrWrapper (&LIBID_mscorlib)
#define LIBID_OF_CurrencyWrapper (&LIBID_mscorlib)
#define LIBID_OF_DispatchWrapper (&LIBID_mscorlib)
#define LIBID_OF_ErrorWrapper (&LIBID_mscorlib)
#define LIBID_OF_ExtensibleClassFactory (&LIBID_mscorlib)
#define LIBID_OF_InvalidComObjectException (&LIBID_mscorlib)
#define LIBID_OF_ObjectCreationDelegate (&LIBID_mscorlib)
#define LIBID_OF_SafeArrayRankMismatchException (&LIBID_mscorlib)
#define LIBID_OF_SafeArrayTypeMismatchException (&LIBID_mscorlib)
#define LIBID_OF_UnknownWrapper (&LIBID_mscorlib)
#define LIBID_OF_Stream (&LIBID_mscorlib)
#define LIBID_OF_BinaryReader (&LIBID_mscorlib)
#define LIBID_OF_BinaryWriter (&LIBID_mscorlib)
#define LIBID_OF_BufferedStream (&LIBID_mscorlib)
#define LIBID_OF_Directory (&LIBID_mscorlib)
#define LIBID_OF_FileSystemInfo (&LIBID_mscorlib)
#define LIBID_OF_DirectoryInfo (&LIBID_mscorlib)
#define LIBID_OF_IOException (&LIBID_mscorlib)
#define LIBID_OF_DirectoryNotFoundException (&LIBID_mscorlib)
#define LIBID_OF_DriveInfo (&LIBID_mscorlib)
#define LIBID_OF_DriveNotFoundException (&LIBID_mscorlib)
#define LIBID_OF_EndOfStreamException (&LIBID_mscorlib)
#define LIBID_OF_File (&LIBID_mscorlib)
#define LIBID_OF_FileInfo (&LIBID_mscorlib)
#define LIBID_OF_FileLoadException (&LIBID_mscorlib)
#define LIBID_OF_FileNotFoundException (&LIBID_mscorlib)
#define LIBID_OF_FileStream (&LIBID_mscorlib)
#define LIBID_OF_MemoryStream (&LIBID_mscorlib)
#define LIBID_OF_Path (&LIBID_mscorlib)
#define LIBID_OF_PathTooLongException (&LIBID_mscorlib)
#define LIBID_OF_TextReader (&LIBID_mscorlib)
#define LIBID_OF_StreamReader (&LIBID_mscorlib)
#define LIBID_OF_TextWriter (&LIBID_mscorlib)
#define LIBID_OF_StreamWriter (&LIBID_mscorlib)
#define LIBID_OF_StringReader (&LIBID_mscorlib)
#define LIBID_OF_StringWriter (&LIBID_mscorlib)
#define LIBID_OF_AccessedThroughPropertyAttribute (&LIBID_mscorlib)
#define LIBID_OF_CallConvCdecl (&LIBID_mscorlib)
#define LIBID_OF_CallConvStdcall (&LIBID_mscorlib)
#define LIBID_OF_CallConvThiscall (&LIBID_mscorlib)
#define LIBID_OF_CallConvFastcall (&LIBID_mscorlib)
#define LIBID_OF_CustomConstantAttribute (&LIBID_mscorlib)
#define LIBID_OF_DateTimeConstantAttribute (&LIBID_mscorlib)
#define LIBID_OF_DiscardableAttribute (&LIBID_mscorlib)
#define LIBID_OF_DecimalConstantAttribute (&LIBID_mscorlib)
#define LIBID_OF_CompilationRelaxationsAttribute (&LIBID_mscorlib)
#define LIBID_OF_CompilerGlobalScopeAttribute (&LIBID_mscorlib)
#define LIBID_OF_IndexerNameAttribute (&LIBID_mscorlib)
#define LIBID_OF_IsVolatile (&LIBID_mscorlib)
#define LIBID_OF_MethodImplAttribute (&LIBID_mscorlib)
#define LIBID_OF_RequiredAttributeAttribute (&LIBID_mscorlib)
#define LIBID_OF_IsCopyConstructed (&LIBID_mscorlib)
#define LIBID_OF_NativeCppClassAttribute (&LIBID_mscorlib)
#define LIBID_OF_IDispatchConstantAttribute (&LIBID_mscorlib)
#define LIBID_OF_IUnknownConstantAttribute (&LIBID_mscorlib)
#define LIBID_OF_SecurityElement (&LIBID_mscorlib)
#define LIBID_OF_XmlSyntaxException (&LIBID_mscorlib)
#define LIBID_OF_CodeAccessPermission (&LIBID_mscorlib)
#define LIBID_OF_EnvironmentPermission (&LIBID_mscorlib)
#define LIBID_OF_FileDialogPermission (&LIBID_mscorlib)
#define LIBID_OF_FileIOPermission (&LIBID_mscorlib)
#define LIBID_OF_SecurityAttribute (&LIBID_mscorlib)
#define LIBID_OF_CodeAccessSecurityAttribute (&LIBID_mscorlib)
#define LIBID_OF_HostProtectionAttribute (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStoragePermission (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStorageFilePermission (&LIBID_mscorlib)
#define LIBID_OF_EnvironmentPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_FileDialogPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_FileIOPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_KeyContainerPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_PrincipalPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_ReflectionPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_RegistryPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_SecurityPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_UIPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_ZoneIdentityPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_StrongNameIdentityPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_SiteIdentityPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_UrlIdentityPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_PublisherIdentityPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStoragePermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStorageFilePermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_PermissionSetAttribute (&LIBID_mscorlib)
#define LIBID_OF_ReflectionPermission (&LIBID_mscorlib)
#define LIBID_OF_PrincipalPermission (&LIBID_mscorlib)
#define LIBID_OF_SecurityPermission (&LIBID_mscorlib)
#define LIBID_OF_SiteIdentityPermission (&LIBID_mscorlib)
#define LIBID_OF_StrongNameIdentityPermission (&LIBID_mscorlib)
#define LIBID_OF_StrongNamePublicKeyBlob (&LIBID_mscorlib)
#define LIBID_OF_UIPermission (&LIBID_mscorlib)
#define LIBID_OF_UrlIdentityPermission (&LIBID_mscorlib)
#define LIBID_OF_ZoneIdentityPermission (&LIBID_mscorlib)
#define LIBID_OF_GacIdentityPermissionAttribute (&LIBID_mscorlib)
#define LIBID_OF_GacIdentityPermission (&LIBID_mscorlib)
#define LIBID_OF_KeyContainerPermissionAccessEntry (&LIBID_mscorlib)
#define LIBID_OF_KeyContainerPermissionAccessEntryCollection (&LIBID_mscorlib)
#define LIBID_OF_KeyContainerPermissionAccessEntryEnumerator (&LIBID_mscorlib)
#define LIBID_OF_KeyContainerPermission (&LIBID_mscorlib)
#define LIBID_OF_PublisherIdentityPermission (&LIBID_mscorlib)
#define LIBID_OF_RegistryPermission (&LIBID_mscorlib)
#define LIBID_OF_SuppressUnmanagedCodeSecurityAttribute (&LIBID_mscorlib)
#define LIBID_OF_UnverifiableCodeAttribute (&LIBID_mscorlib)
#define LIBID_OF_AllowPartiallyTrustedCallersAttribute (&LIBID_mscorlib)
#define LIBID_OF_HostSecurityManager (&LIBID_mscorlib)
#define LIBID_OF_PermissionSet (&LIBID_mscorlib)
#define LIBID_OF_NamedPermissionSet (&LIBID_mscorlib)
#define LIBID_OF_SecurityException (&LIBID_mscorlib)
#define LIBID_OF_HostProtectionException (&LIBID_mscorlib)
#define LIBID_OF_SecurityManager (&LIBID_mscorlib)
#define LIBID_OF_VerificationException (&LIBID_mscorlib)
#define LIBID_OF_ContextAttribute (&LIBID_mscorlib)
#define LIBID_OF_AsyncResult (&LIBID_mscorlib)
#define LIBID_OF_CallContext (&LIBID_mscorlib)
#define LIBID_OF_LogicalCallContext (&LIBID_mscorlib)
#define LIBID_OF_ChannelServices (&LIBID_mscorlib)
#define LIBID_OF_ClientChannelSinkStack (&LIBID_mscorlib)
#define LIBID_OF_ServerChannelSinkStack (&LIBID_mscorlib)
#define LIBID_OF_ClientSponsor (&LIBID_mscorlib)
#define LIBID_OF_CrossContextDelegate (&LIBID_mscorlib)
#define LIBID_OF_Context (&LIBID_mscorlib)
#define LIBID_OF_ContextProperty (&LIBID_mscorlib)
#define LIBID_OF_EnterpriseServicesHelper (&LIBID_mscorlib)
#define LIBID_OF_Header (&LIBID_mscorlib)
#define LIBID_OF_HeaderHandler (&LIBID_mscorlib)
#define LIBID_OF_ChannelDataStore (&LIBID_mscorlib)
#define LIBID_OF_TransportHeaders (&LIBID_mscorlib)
#define LIBID_OF_SinkProviderData (&LIBID_mscorlib)
#define LIBID_OF_BaseChannelObjectWithProperties (&LIBID_mscorlib)
#define LIBID_OF_BaseChannelSinkWithProperties (&LIBID_mscorlib)
#define LIBID_OF_BaseChannelWithProperties (&LIBID_mscorlib)
#define LIBID_OF_LifetimeServices (&LIBID_mscorlib)
#define LIBID_OF_ReturnMessage (&LIBID_mscorlib)
#define LIBID_OF_MethodCall (&LIBID_mscorlib)
#define LIBID_OF_ConstructionCall (&LIBID_mscorlib)
#define LIBID_OF_MethodResponse (&LIBID_mscorlib)
#define LIBID_OF_ConstructionResponse (&LIBID_mscorlib)
#define LIBID_OF_InternalMessageWrapper (&LIBID_mscorlib)
#define LIBID_OF_MethodCallMessageWrapper (&LIBID_mscorlib)
#define LIBID_OF_MethodReturnMessageWrapper (&LIBID_mscorlib)
#define LIBID_OF_ObjectHandle (&LIBID_mscorlib)
#define LIBID_OF_ObjRef (&LIBID_mscorlib)
#define LIBID_OF_OneWayAttribute (&LIBID_mscorlib)
#define LIBID_OF_ProxyAttribute (&LIBID_mscorlib)
#define LIBID_OF_RealProxy (&LIBID_mscorlib)
#define LIBID_OF_SoapAttribute (&LIBID_mscorlib)
#define LIBID_OF_SoapTypeAttribute (&LIBID_mscorlib)
#define LIBID_OF_SoapMethodAttribute (&LIBID_mscorlib)
#define LIBID_OF_SoapFieldAttribute (&LIBID_mscorlib)
#define LIBID_OF_SoapParameterAttribute (&LIBID_mscorlib)
#define LIBID_OF_RemotingConfiguration (&LIBID_mscorlib)
#define LIBID_OF_TypeEntry (&LIBID_mscorlib)
#define LIBID_OF_ActivatedClientTypeEntry (&LIBID_mscorlib)
#define LIBID_OF_ActivatedServiceTypeEntry (&LIBID_mscorlib)
#define LIBID_OF_WellKnownClientTypeEntry (&LIBID_mscorlib)
#define LIBID_OF_WellKnownServiceTypeEntry (&LIBID_mscorlib)
#define LIBID_OF_RemotingException (&LIBID_mscorlib)
#define LIBID_OF_ServerException (&LIBID_mscorlib)
#define LIBID_OF_RemotingTimeoutException (&LIBID_mscorlib)
#define LIBID_OF_RemotingServices (&LIBID_mscorlib)
#define LIBID_OF_InternalRemotingServices (&LIBID_mscorlib)
#define LIBID_OF_MessageSurrogateFilter (&LIBID_mscorlib)
#define LIBID_OF_RemotingSurrogateSelector (&LIBID_mscorlib)
#define LIBID_OF_SoapServices (&LIBID_mscorlib)
#define LIBID_OF_SoapDateTime (&LIBID_mscorlib)
#define LIBID_OF_SoapDuration (&LIBID_mscorlib)
#define LIBID_OF_SoapTime (&LIBID_mscorlib)
#define LIBID_OF_SoapDate (&LIBID_mscorlib)
#define LIBID_OF_SoapYearMonth (&LIBID_mscorlib)
#define LIBID_OF_SoapYear (&LIBID_mscorlib)
#define LIBID_OF_SoapMonthDay (&LIBID_mscorlib)
#define LIBID_OF_SoapDay (&LIBID_mscorlib)
#define LIBID_OF_SoapMonth (&LIBID_mscorlib)
#define LIBID_OF_SoapHexBinary (&LIBID_mscorlib)
#define LIBID_OF_SoapBase64Binary (&LIBID_mscorlib)
#define LIBID_OF_SoapInteger (&LIBID_mscorlib)
#define LIBID_OF_SoapPositiveInteger (&LIBID_mscorlib)
#define LIBID_OF_SoapNonPositiveInteger (&LIBID_mscorlib)
#define LIBID_OF_SoapNonNegativeInteger (&LIBID_mscorlib)
#define LIBID_OF_SoapNegativeInteger (&LIBID_mscorlib)
#define LIBID_OF_SoapAnyUri (&LIBID_mscorlib)
#define LIBID_OF_SoapQName (&LIBID_mscorlib)
#define LIBID_OF_SoapNotation (&LIBID_mscorlib)
#define LIBID_OF_SoapNormalizedString (&LIBID_mscorlib)
#define LIBID_OF_SoapToken (&LIBID_mscorlib)
#define LIBID_OF_SoapLanguage (&LIBID_mscorlib)
#define LIBID_OF_SoapName (&LIBID_mscorlib)
#define LIBID_OF_SoapIdrefs (&LIBID_mscorlib)
#define LIBID_OF_SoapEntities (&LIBID_mscorlib)
#define LIBID_OF_SoapNmtoken (&LIBID_mscorlib)
#define LIBID_OF_SoapNmtokens (&LIBID_mscorlib)
#define LIBID_OF_SoapNcName (&LIBID_mscorlib)
#define LIBID_OF_SoapId (&LIBID_mscorlib)
#define LIBID_OF_SoapIdref (&LIBID_mscorlib)
#define LIBID_OF_SoapEntity (&LIBID_mscorlib)
#define LIBID_OF_SynchronizationAttribute (&LIBID_mscorlib)
#define LIBID_OF_TrackingServices (&LIBID_mscorlib)
#define LIBID_OF_UrlAttribute (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStorage (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStorageFile (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStorageFileStream (&LIBID_mscorlib)
#define LIBID_OF_IsolatedStorageException (&LIBID_mscorlib)
#define LIBID_OF_InternalRM (&LIBID_mscorlib)
#define LIBID_OF_InternalST (&LIBID_mscorlib)
#define LIBID_OF_SoapMessage (&LIBID_mscorlib)
#define LIBID_OF_SoapFault (&LIBID_mscorlib)
#define LIBID_OF_ServerFault (&LIBID_mscorlib)
#define LIBID_OF_BinaryFormatter (&LIBID_mscorlib)
#define LIBID_OF_DynamicILInfo (&LIBID_mscorlib)
#define LIBID_OF_DynamicMethod (&LIBID_mscorlib)
#define LIBID_OF_OpCodes (&LIBID_mscorlib)
#define LIBID_OF_GenericTypeParameterBuilder (&LIBID_mscorlib)
#define LIBID_OF_UnmanagedMarshal (&LIBID_mscorlib)
#define LIBID_OF_KeySizes (&LIBID_mscorlib)
#define LIBID_OF_CryptographicException (&LIBID_mscorlib)
#define LIBID_OF_CryptographicUnexpectedOperationException (&LIBID_mscorlib)
#define LIBID_OF_RandomNumberGenerator (&LIBID_mscorlib)
#define LIBID_OF_RNGCryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_AsymmetricAlgorithm (&LIBID_mscorlib)
#define LIBID_OF_AsymmetricKeyExchangeDeformatter (&LIBID_mscorlib)
#define LIBID_OF_AsymmetricKeyExchangeFormatter (&LIBID_mscorlib)
#define LIBID_OF_AsymmetricSignatureDeformatter (&LIBID_mscorlib)
#define LIBID_OF_AsymmetricSignatureFormatter (&LIBID_mscorlib)
#define LIBID_OF_ToBase64Transform (&LIBID_mscorlib)
#define LIBID_OF_FromBase64Transform (&LIBID_mscorlib)
#define LIBID_OF_CryptoAPITransform (&LIBID_mscorlib)
#define LIBID_OF_CspParameters (&LIBID_mscorlib)
#define LIBID_OF_CryptoConfig (&LIBID_mscorlib)
#define LIBID_OF_CryptoStream (&LIBID_mscorlib)
#define LIBID_OF_SymmetricAlgorithm (&LIBID_mscorlib)
#define LIBID_OF_DES (&LIBID_mscorlib)
#define LIBID_OF_DESCryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_DeriveBytes (&LIBID_mscorlib)
#define LIBID_OF_DSA (&LIBID_mscorlib)
#define LIBID_OF_DSACryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_DSASignatureDeformatter (&LIBID_mscorlib)
#define LIBID_OF_DSASignatureFormatter (&LIBID_mscorlib)
#define LIBID_OF_HashAlgorithm (&LIBID_mscorlib)
#define LIBID_OF_KeyedHashAlgorithm (&LIBID_mscorlib)
#define LIBID_OF_HMAC (&LIBID_mscorlib)
#define LIBID_OF_HMACMD5 (&LIBID_mscorlib)
#define LIBID_OF_HMACRIPEMD160 (&LIBID_mscorlib)
#define LIBID_OF_HMACSHA1 (&LIBID_mscorlib)
#define LIBID_OF_HMACSHA256 (&LIBID_mscorlib)
#define LIBID_OF_HMACSHA384 (&LIBID_mscorlib)
#define LIBID_OF_HMACSHA512 (&LIBID_mscorlib)
#define LIBID_OF_CspKeyContainerInfo (&LIBID_mscorlib)
#define LIBID_OF_MACTripleDES (&LIBID_mscorlib)
#define LIBID_OF_MD5 (&LIBID_mscorlib)
#define LIBID_OF_MD5CryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_MaskGenerationMethod (&LIBID_mscorlib)
#define LIBID_OF_PasswordDeriveBytes (&LIBID_mscorlib)
#define LIBID_OF_PKCS1MaskGenerationMethod (&LIBID_mscorlib)
#define LIBID_OF_RC2 (&LIBID_mscorlib)
#define LIBID_OF_RC2CryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_Rfc2898DeriveBytes (&LIBID_mscorlib)
#define LIBID_OF_RIPEMD160 (&LIBID_mscorlib)
#define LIBID_OF_RIPEMD160Managed (&LIBID_mscorlib)
#define LIBID_OF_RSA (&LIBID_mscorlib)
#define LIBID_OF_RSACryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_RSAOAEPKeyExchangeDeformatter (&LIBID_mscorlib)
#define LIBID_OF_RSAOAEPKeyExchangeFormatter (&LIBID_mscorlib)
#define LIBID_OF_RSAPKCS1KeyExchangeDeformatter (&LIBID_mscorlib)
#define LIBID_OF_RSAPKCS1KeyExchangeFormatter (&LIBID_mscorlib)
#define LIBID_OF_RSAPKCS1SignatureDeformatter (&LIBID_mscorlib)
#define LIBID_OF_RSAPKCS1SignatureFormatter (&LIBID_mscorlib)
#define LIBID_OF_Rijndael (&LIBID_mscorlib)
#define LIBID_OF_RijndaelManaged (&LIBID_mscorlib)
#define LIBID_OF_RijndaelManagedTransform (&LIBID_mscorlib)
#define LIBID_OF_SHA1 (&LIBID_mscorlib)
#define LIBID_OF_SHA1CryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_SHA1Managed (&LIBID_mscorlib)
#define LIBID_OF_SHA256 (&LIBID_mscorlib)
#define LIBID_OF_SHA256Managed (&LIBID_mscorlib)
#define LIBID_OF_SHA384 (&LIBID_mscorlib)
#define LIBID_OF_SHA384Managed (&LIBID_mscorlib)
#define LIBID_OF_SHA512 (&LIBID_mscorlib)
#define LIBID_OF_SHA512Managed (&LIBID_mscorlib)
#define LIBID_OF_SignatureDescription (&LIBID_mscorlib)
#define LIBID_OF_TripleDES (&LIBID_mscorlib)
#define LIBID_OF_TripleDESCryptoServiceProvider (&LIBID_mscorlib)
#define LIBID_OF_X509Certificate (&LIBID_mscorlib)

// *********************************************************************//
// Déclaration d'énumérations définies dans la bibliothèque de types    
// *********************************************************************//
typedef enum StringComparison
{
  StringComparison_CurrentCulture = 0, 
  StringComparison_CurrentCultureIgnoreCase = 1, 
  StringComparison_InvariantCulture = 2, 
  StringComparison_InvariantCultureIgnoreCase = 3, 
  StringComparison_Ordinal = 4, 
  StringComparison_OrdinalIgnoreCase = 5
} StringComparison;

typedef enum DateTimeKind
{
  DateTimeKind_Unspecified = 0, 
  DateTimeKind_Utc = 1, 
  DateTimeKind_Local = 2
} DateTimeKind;

typedef enum AppDomainManagerInitializationOptions
{
  AppDomainManagerInitializationOptions_None = 0, 
  AppDomainManagerInitializationOptions_RegisterWithHost = 1
} AppDomainManagerInitializationOptions;

typedef enum LoaderOptimization
{
  LoaderOptimization_NotSpecified = 0, 
  LoaderOptimization_SingleDomain = 1, 
  LoaderOptimization_MultiDomain = 2, 
  LoaderOptimization_MultiDomainHost = 3, 
  LoaderOptimization_DomainMask = 3, 
  LoaderOptimization_DisallowBindings = 4
} LoaderOptimization;

typedef enum AttributeTargets
{
  AttributeTargets_Assembly = 1, 
  AttributeTargets_Module = 2, 
  AttributeTargets_Class = 4, 
  AttributeTargets_Struct = 8, 
  AttributeTargets_Enum = 16, 
  AttributeTargets_Constructor = 32, 
  AttributeTargets_Method = 64, 
  AttributeTargets_Property = 128, 
  AttributeTargets_Field = 256, 
  AttributeTargets_Event = 512, 
  AttributeTargets_Interface = 1024, 
  AttributeTargets_Parameter = 2048, 
  AttributeTargets_Delegate = 4096, 
  AttributeTargets_ReturnValue = 8192, 
  AttributeTargets_GenericParameter = 16384, 
  AttributeTargets_All = 32767
} AttributeTargets;

typedef enum DayOfWeek
{
  DayOfWeek_Sunday = 0, 
  DayOfWeek_Monday = 1, 
  DayOfWeek_Tuesday = 2, 
  DayOfWeek_Wednesday = 3, 
  DayOfWeek_Thursday = 4, 
  DayOfWeek_Friday = 5, 
  DayOfWeek_Saturday = 6
} DayOfWeek;

typedef enum EnvironmentVariableTarget
{
  EnvironmentVariableTarget_Process = 0, 
  EnvironmentVariableTarget_User = 1, 
  EnvironmentVariableTarget_Machine = 2
} EnvironmentVariableTarget;

typedef enum SpecialFolder
{
  SpecialFolder_ApplicationData = 26, 
  SpecialFolder_CommonApplicationData = 35, 
  SpecialFolder_LocalApplicationData = 28, 
  SpecialFolder_Cookies = 33, 
  SpecialFolder_Desktop = 0, 
  SpecialFolder_Favorites = 6, 
  SpecialFolder_History = 34, 
  SpecialFolder_InternetCache = 32, 
  SpecialFolder_Programs = 2, 
  SpecialFolder_MyComputer = 17, 
  SpecialFolder_MyMusic = 13, 
  SpecialFolder_MyPictures = 39, 
  SpecialFolder_Recent = 8, 
  SpecialFolder_SendTo = 9, 
  SpecialFolder_StartMenu = 11, 
  SpecialFolder_Startup = 7, 
  SpecialFolder_System = 37, 
  SpecialFolder_Templates = 21, 
  SpecialFolder_DesktopDirectory = 16, 
  SpecialFolder_Personal = 5, 
  SpecialFolder_MyDocuments = 5, 
  SpecialFolder_ProgramFiles = 38, 
  SpecialFolder_CommonProgramFiles = 43
} SpecialFolder;

typedef enum MidpointRounding
{
  MidpointRounding_ToEven = 0, 
  MidpointRounding_AwayFromZero = 1
} MidpointRounding;

typedef enum PlatformID
{
  PlatformID_Win32S = 0, 
  PlatformID_Win32Windows = 1, 
  PlatformID_Win32NT = 2, 
  PlatformID_WinCE = 3, 
  PlatformID_Unix = 4
} PlatformID;

typedef enum TypeCode
{
  TypeCode_Empty = 0, 
  TypeCode_Object = 1, 
  TypeCode_DBNull = 2, 
  TypeCode_Boolean = 3, 
  TypeCode_Char = 4, 
  TypeCode_SByte = 5, 
  TypeCode_Byte = 6, 
  TypeCode_Int16 = 7, 
  TypeCode_UInt16 = 8, 
  TypeCode_Int32 = 9, 
  TypeCode_UInt32 = 10, 
  TypeCode_Int64 = 11, 
  TypeCode_UInt64 = 12, 
  TypeCode_Single = 13, 
  TypeCode_Double = 14, 
  TypeCode_Decimal = 15, 
  TypeCode_DateTime = 16, 
  TypeCode_String = 18
} TypeCode;

typedef enum ThreadPriority
{
  ThreadPriority_Lowest = 0, 
  ThreadPriority_BelowNormal = 1, 
  ThreadPriority_Normal = 2, 
  ThreadPriority_AboveNormal = 3, 
  ThreadPriority_Highest = 4
} ThreadPriority;

typedef enum ThreadState
{
  ThreadState_Running = 0, 
  ThreadState_StopRequested = 1, 
  ThreadState_SuspendRequested = 2, 
  ThreadState_Background = 4, 
  ThreadState_Unstarted = 8, 
  ThreadState_Stopped = 16, 
  ThreadState_WaitSleepJoin = 32, 
  ThreadState_Suspended = 64, 
  ThreadState_AbortRequested = 128, 
  ThreadState_Aborted = 256
} ThreadState;

typedef enum ApartmentState
{
  ApartmentState_STA = 0, 
  ApartmentState_MTA = 1, 
  ApartmentState_Unknown = 2
} ApartmentState;

typedef enum DebuggingModes
{
  DebuggingModes_None = 0, 
  DebuggingModes_Default = 1, 
  DebuggingModes_DisableOptimizations = 256, 
  DebuggingModes_IgnoreSymbolStoreSequencePoints = 2, 
  DebuggingModes_EnableEditAndContinue = 4
} DebuggingModes;

typedef enum DebuggerBrowsableState
{
  DebuggerBrowsableState_Never = 0, 
  DebuggerBrowsableState_Collapsed = 2, 
  DebuggerBrowsableState_RootHidden = 3
} DebuggerBrowsableState;

typedef enum SymAddressKind
{
  SymAddressKind_ILOffset = 1, 
  SymAddressKind_NativeRVA = 2, 
  SymAddressKind_NativeRegister = 3, 
  SymAddressKind_NativeRegisterRelative = 4, 
  SymAddressKind_NativeOffset = 5, 
  SymAddressKind_NativeRegisterRegister = 6, 
  SymAddressKind_NativeRegisterStack = 7, 
  SymAddressKind_NativeStackRegister = 8, 
  SymAddressKind_BitField = 9, 
  SymAddressKind_NativeSectionOffset = 10
} SymAddressKind;

typedef enum AssemblyNameFlags
{
  AssemblyNameFlags_None = 0, 
  AssemblyNameFlags_PublicKey = 1, 
  AssemblyNameFlags_EnableJITcompileOptimizer = 16384, 
  AssemblyNameFlags_EnableJITcompileTracking = 32768, 
  AssemblyNameFlags_Retargetable = 256
} AssemblyNameFlags;

typedef enum ProcessorArchitecture
{
  ProcessorArchitecture_None = 0, 
  ProcessorArchitecture_MSIL = 1, 
  ProcessorArchitecture_X86 = 2, 
  ProcessorArchitecture_IA64 = 3, 
  ProcessorArchitecture_Amd64 = 4
} ProcessorArchitecture;

typedef enum BindingFlags
{
  BindingFlags_Default = 0, 
  BindingFlags_IgnoreCase = 1, 
  BindingFlags_DeclaredOnly = 2, 
  BindingFlags_Instance = 4, 
  BindingFlags_Static = 8, 
  BindingFlags_Public = 16, 
  BindingFlags_NonPublic = 32, 
  BindingFlags_FlattenHierarchy = 64, 
  BindingFlags_InvokeMethod = 256, 
  BindingFlags_CreateInstance = 512, 
  BindingFlags_GetField = 1024, 
  BindingFlags_SetField = 2048, 
  BindingFlags_GetProperty = 4096, 
  BindingFlags_SetProperty = 8192, 
  BindingFlags_PutDispProperty = 16384, 
  BindingFlags_PutRefDispProperty = 32768, 
  BindingFlags_ExactBinding = 65536, 
  BindingFlags_SuppressChangeType = 131072, 
  BindingFlags_OptionalParamBinding = 262144, 
  BindingFlags_IgnoreReturn = 16777216
} BindingFlags;

typedef enum CallingConventions
{
  CallingConventions_Standard = 1, 
  CallingConventions_VarArgs = 2, 
  CallingConventions_Any = 3, 
  CallingConventions_HasThis = 32, 
  CallingConventions_ExplicitThis = 64
} CallingConventions;

typedef enum EventAttributes
{
  EventAttributes_None = 0, 
  EventAttributes_SpecialName = 512, 
  EventAttributes_ReservedMask = 1024, 
  EventAttributes_RTSpecialName = 1024
} EventAttributes;

typedef enum FieldAttributes
{
  FieldAttributes_FieldAccessMask = 7, 
  FieldAttributes_PrivateScope = 0, 
  FieldAttributes_Private = 1, 
  FieldAttributes_FamANDAssem = 2, 
  FieldAttributes_Assembly = 3, 
  FieldAttributes_Family = 4, 
  FieldAttributes_FamORAssem = 5, 
  FieldAttributes_Public = 6, 
  FieldAttributes_Static = 16, 
  FieldAttributes_InitOnly = 32, 
  FieldAttributes_Literal = 64, 
  FieldAttributes_NotSerialized = 128, 
  FieldAttributes_SpecialName = 512, 
  FieldAttributes_PinvokeImpl = 8192, 
  FieldAttributes_ReservedMask = 38144, 
  FieldAttributes_RTSpecialName = 1024, 
  FieldAttributes_HasFieldMarshal = 4096, 
  FieldAttributes_HasDefault = 32768, 
  FieldAttributes_HasFieldRVA = 256
} FieldAttributes;

typedef enum ResourceLocation
{
  ResourceLocation_Embedded = 1, 
  ResourceLocation_ContainedInAnotherAssembly = 2, 
  ResourceLocation_ContainedInManifestFile = 4
} ResourceLocation;

typedef enum MemberTypes
{
  MemberTypes_Constructor = 1, 
  MemberTypes_Event = 2, 
  MemberTypes_Field = 4, 
  MemberTypes_Method = 8, 
  MemberTypes_Property = 16, 
  MemberTypes_TypeInfo = 32, 
  MemberTypes_Custom = 64, 
  MemberTypes_NestedType = 128, 
  MemberTypes_All = 191
} MemberTypes;

typedef enum MethodAttributes
{
  MethodAttributes_MemberAccessMask = 7, 
  MethodAttributes_PrivateScope = 0, 
  MethodAttributes_Private = 1, 
  MethodAttributes_FamANDAssem = 2, 
  MethodAttributes_Assembly = 3, 
  MethodAttributes_Family = 4, 
  MethodAttributes_FamORAssem = 5, 
  MethodAttributes_Public = 6, 
  MethodAttributes_Static = 16, 
  MethodAttributes_Final = 32, 
  MethodAttributes_Virtual = 64, 
  MethodAttributes_HideBySig = 128, 
  MethodAttributes_CheckAccessOnOverride = 512, 
  MethodAttributes_VtableLayoutMask = 256, 
  MethodAttributes_ReuseSlot = 0, 
  MethodAttributes_NewSlot = 256, 
  MethodAttributes_Abstract = 1024, 
  MethodAttributes_SpecialName = 2048, 
  MethodAttributes_PinvokeImpl = 8192, 
  MethodAttributes_UnmanagedExport = 8, 
  MethodAttributes_RTSpecialName = 4096, 
  MethodAttributes_ReservedMask = 53248, 
  MethodAttributes_HasSecurity = 16384, 
  MethodAttributes_RequireSecObject = 32768
} MethodAttributes;

typedef enum MethodImplAttributes
{
  MethodImplAttributes_CodeTypeMask = 3, 
  MethodImplAttributes_IL = 0, 
  MethodImplAttributes_Native = 1, 
  MethodImplAttributes_OPTIL = 2, 
  MethodImplAttributes_Runtime = 3, 
  MethodImplAttributes_ManagedMask = 4, 
  MethodImplAttributes_Unmanaged = 4, 
  MethodImplAttributes_Managed = 0, 
  MethodImplAttributes_ForwardRef = 16, 
  MethodImplAttributes_PreserveSig = 128, 
  MethodImplAttributes_InternalCall = 4096, 
  MethodImplAttributes_Synchronized = 32, 
  MethodImplAttributes_NoInlining = 8, 
  MethodImplAttributes_MaxMethodImplVal = 65535
} MethodImplAttributes;

typedef enum PortableExecutableKinds
{
  PortableExecutableKinds_NotAPortableExecutableImage = 0, 
  PortableExecutableKinds_ILOnly = 1, 
  PortableExecutableKinds_Required32Bit = 2, 
  PortableExecutableKinds_PE32Plus = 4, 
  PortableExecutableKinds_Unmanaged32Bit = 8
} PortableExecutableKinds;

typedef enum ImageFileMachine
{
  ImageFileMachine_I386 = 332, 
  ImageFileMachine_IA64 = 512, 
  ImageFileMachine_AMD64 = 34404
} ImageFileMachine;

typedef enum ExceptionHandlingClauseOptions
{
  ExceptionHandlingClauseOptions_Clause = 0, 
  ExceptionHandlingClauseOptions_Filter = 1, 
  ExceptionHandlingClauseOptions_Finally = 2, 
  ExceptionHandlingClauseOptions_Fault = 4
} ExceptionHandlingClauseOptions;

typedef enum ParameterAttributes
{
  ParameterAttributes_None = 0, 
  ParameterAttributes_In = 1, 
  ParameterAttributes_Out = 2, 
  ParameterAttributes_Lcid = 4, 
  ParameterAttributes_Retval = 8, 
  ParameterAttributes_Optional = 16, 
  ParameterAttributes_ReservedMask = 61440, 
  ParameterAttributes_HasDefault = 4096, 
  ParameterAttributes_HasFieldMarshal = 8192, 
  ParameterAttributes_Reserved3 = 16384, 
  ParameterAttributes_Reserved4 = 32768
} ParameterAttributes;

typedef enum PropertyAttributes
{
  PropertyAttributes_None = 0, 
  PropertyAttributes_SpecialName = 512, 
  PropertyAttributes_ReservedMask = 62464, 
  PropertyAttributes_RTSpecialName = 1024, 
  PropertyAttributes_HasDefault = 4096, 
  PropertyAttributes_Reserved2 = 8192, 
  PropertyAttributes_Reserved3 = 16384, 
  PropertyAttributes_Reserved4 = 32768
} PropertyAttributes;

typedef enum ResourceAttributes
{
  ResourceAttributes_Public = 1, 
  ResourceAttributes_Private = 2
} ResourceAttributes;

typedef enum TypeAttributes
{
  TypeAttributes_VisibilityMask = 7, 
  TypeAttributes_NotPublic = 0, 
  TypeAttributes_Public = 1, 
  TypeAttributes_NestedPublic = 2, 
  TypeAttributes_NestedPrivate = 3, 
  TypeAttributes_NestedFamily = 4, 
  TypeAttributes_NestedAssembly = 5, 
  TypeAttributes_NestedFamANDAssem = 6, 
  TypeAttributes_NestedFamORAssem = 7, 
  TypeAttributes_LayoutMask = 24, 
  TypeAttributes_AutoLayout = 0, 
  TypeAttributes_SequentialLayout = 8, 
  TypeAttributes_ExplicitLayout = 16, 
  TypeAttributes_ClassSemanticsMask = 32, 
  TypeAttributes_Class = 0, 
  TypeAttributes_Interface = 32, 
  TypeAttributes_Abstract = 128, 
  TypeAttributes_Sealed = 256, 
  TypeAttributes_SpecialName = 1024, 
  TypeAttributes_Import = 4096, 
  TypeAttributes_Serializable = 8192, 
  TypeAttributes_StringFormatMask = 196608, 
  TypeAttributes_AnsiClass = 0, 
  TypeAttributes_UnicodeClass = 65536, 
  TypeAttributes_AutoClass = 131072, 
  TypeAttributes_CustomFormatClass = 196608, 
  TypeAttributes_CustomFormatMask = 12582912, 
  TypeAttributes_BeforeFieldInit = 1048576, 
  TypeAttributes_ReservedMask = 264192, 
  TypeAttributes_RTSpecialName = 2048, 
  TypeAttributes_HasSecurity = 262144
} TypeAttributes;

typedef enum StreamingContextStates
{
  StreamingContextStates_CrossProcess = 1, 
  StreamingContextStates_CrossMachine = 2, 
  StreamingContextStates_File = 4, 
  StreamingContextStates_Persistence = 8, 
  StreamingContextStates_Remoting = 16, 
  StreamingContextStates_Other = 32, 
  StreamingContextStates_Clone = 64, 
  StreamingContextStates_CrossAppDomain = 128, 
  StreamingContextStates_All = 255
} StreamingContextStates;

typedef enum CalendarAlgorithmType
{
  CalendarAlgorithmType_Unknown = 0, 
  CalendarAlgorithmType_SolarCalendar = 1, 
  CalendarAlgorithmType_LunarCalendar = 2, 
  CalendarAlgorithmType_LunisolarCalendar = 3
} CalendarAlgorithmType;

typedef enum CalendarWeekRule
{
  CalendarWeekRule_FirstDay = 0, 
  CalendarWeekRule_FirstFullWeek = 1, 
  CalendarWeekRule_FirstFourDayWeek = 2
} CalendarWeekRule;

typedef enum CompareOptions
{
  CompareOptions_None = 0, 
  CompareOptions_IgnoreCase = 1, 
  CompareOptions_IgnoreNonSpace = 2, 
  CompareOptions_IgnoreSymbols = 4, 
  CompareOptions_IgnoreKanaType = 8, 
  CompareOptions_IgnoreWidth = 16, 
  CompareOptions_OrdinalIgnoreCase = 268435456, 
  CompareOptions_StringSort = 536870912, 
  CompareOptions_Ordinal = 1073741824
} CompareOptions;

typedef enum CultureTypes
{
  CultureTypes_NeutralCultures = 1, 
  CultureTypes_SpecificCultures = 2, 
  CultureTypes_InstalledWin32Cultures = 4, 
  CultureTypes_AllCultures = 7, 
  CultureTypes_UserCustomCulture = 8, 
  CultureTypes_ReplacementCultures = 16, 
  CultureTypes_WindowsOnlyCultures = 32, 
  CultureTypes_FrameworkCultures = 64
} CultureTypes;

typedef enum DateTimeStyles
{
  DateTimeStyles_None = 0, 
  DateTimeStyles_AllowLeadingWhite = 1, 
  DateTimeStyles_AllowTrailingWhite = 2, 
  DateTimeStyles_AllowInnerWhite = 4, 
  DateTimeStyles_AllowWhiteSpaces = 7, 
  DateTimeStyles_NoCurrentDateDefault = 8, 
  DateTimeStyles_AdjustToUniversal = 16, 
  DateTimeStyles_AssumeLocal = 32, 
  DateTimeStyles_AssumeUniversal = 64, 
  DateTimeStyles_RoundTripKind = 128
} DateTimeStyles;

typedef enum DigitShapes
{
  DigitShapes_Context = 0, 
  DigitShapes_None = 1, 
  DigitShapes_NativeNational = 2
} DigitShapes;

typedef enum GregorianCalendarTypes
{
  GregorianCalendarTypes_Localized = 1, 
  GregorianCalendarTypes_USEnglish = 2, 
  GregorianCalendarTypes_MiddleEastFrench = 9, 
  GregorianCalendarTypes_Arabic = 10, 
  GregorianCalendarTypes_TransliteratedEnglish = 11, 
  GregorianCalendarTypes_TransliteratedFrench = 12
} GregorianCalendarTypes;

typedef enum NumberStyles
{
  NumberStyles_None = 0, 
  NumberStyles_AllowLeadingWhite = 1, 
  NumberStyles_AllowTrailingWhite = 2, 
  NumberStyles_AllowLeadingSign = 4, 
  NumberStyles_AllowTrailingSign = 8, 
  NumberStyles_AllowParentheses = 16, 
  NumberStyles_AllowDecimalPoint = 32, 
  NumberStyles_AllowThousands = 64, 
  NumberStyles_AllowExponent = 128, 
  NumberStyles_AllowCurrencySymbol = 256, 
  NumberStyles_AllowHexSpecifier = 512, 
  NumberStyles_Integer = 7, 
  NumberStyles_HexNumber = 515, 
  NumberStyles_Number = 111, 
  NumberStyles_Float = 167, 
  NumberStyles_Currency = 383, 
  NumberStyles_Any = 511
} NumberStyles;

typedef enum UnicodeCategory
{
  UnicodeCategory_UppercaseLetter = 0, 
  UnicodeCategory_LowercaseLetter = 1, 
  UnicodeCategory_TitlecaseLetter = 2, 
  UnicodeCategory_ModifierLetter = 3, 
  UnicodeCategory_OtherLetter = 4, 
  UnicodeCategory_NonSpacingMark = 5, 
  UnicodeCategory_SpacingCombiningMark = 6, 
  UnicodeCategory_EnclosingMark = 7, 
  UnicodeCategory_DecimalDigitNumber = 8, 
  UnicodeCategory_LetterNumber = 9, 
  UnicodeCategory_OtherNumber = 10, 
  UnicodeCategory_SpaceSeparator = 11, 
  UnicodeCategory_LineSeparator = 12, 
  UnicodeCategory_ParagraphSeparator = 13, 
  UnicodeCategory_Control = 14, 
  UnicodeCategory_Format = 15, 
  UnicodeCategory_Surrogate = 16, 
  UnicodeCategory_PrivateUse = 17, 
  UnicodeCategory_ConnectorPunctuation = 18, 
  UnicodeCategory_DashPunctuation = 19, 
  UnicodeCategory_OpenPunctuation = 20, 
  UnicodeCategory_ClosePunctuation = 21, 
  UnicodeCategory_InitialQuotePunctuation = 22, 
  UnicodeCategory_FinalQuotePunctuation = 23, 
  UnicodeCategory_OtherPunctuation = 24, 
  UnicodeCategory_MathSymbol = 25, 
  UnicodeCategory_CurrencySymbol = 26, 
  UnicodeCategory_ModifierSymbol = 27, 
  UnicodeCategory_OtherSymbol = 28, 
  UnicodeCategory_OtherNotAssigned = 29
} UnicodeCategory;

typedef enum NormalizationForm
{
  NormalizationForm_FormC = 1, 
  NormalizationForm_FormD = 2, 
  NormalizationForm_FormKC = 5, 
  NormalizationForm_FormKD = 6
} NormalizationForm;

typedef enum UltimateResourceFallbackLocation
{
  UltimateResourceFallbackLocation_MainAssembly = 0, 
  UltimateResourceFallbackLocation_Satellite = 1
} UltimateResourceFallbackLocation;

typedef enum RegistryHive
{
  RegistryHive_ClassesRoot = 0x80000000, 
  RegistryHive_CurrentUser = 0x80000001, 
  RegistryHive_LocalMachine = 0x80000002, 
  RegistryHive_Users = 0x80000003, 
  RegistryHive_PerformanceData = 0x80000004, 
  RegistryHive_CurrentConfig = 0x80000005, 
  RegistryHive_DynData = 0x80000006
} RegistryHive;

typedef enum RegistryValueKind
{
  RegistryValueKind_String = 1, 
  RegistryValueKind_ExpandString = 2, 
  RegistryValueKind_Binary = 3, 
  RegistryValueKind_DWord = 4, 
  RegistryValueKind_MultiString = 7, 
  RegistryValueKind_QWord = 11, 
  RegistryValueKind_Unknown = 0
} RegistryValueKind;

typedef enum ApplicationVersionMatch
{
  ApplicationVersionMatch_MatchExactVersion = 0, 
  ApplicationVersionMatch_MatchAllVersions = 1
} ApplicationVersionMatch;

typedef enum TrustManagerUIContext
{
  TrustManagerUIContext_Install = 0, 
  TrustManagerUIContext_Upgrade = 1, 
  TrustManagerUIContext_Run = 2
} TrustManagerUIContext;

typedef enum PolicyStatementAttribute
{
  PolicyStatementAttribute_Nothing = 0, 
  PolicyStatementAttribute_Exclusive = 1, 
  PolicyStatementAttribute_LevelFinal = 2, 
  PolicyStatementAttribute_All = 3
} PolicyStatementAttribute;

typedef enum PrincipalPolicy
{
  PrincipalPolicy_UnauthenticatedPrincipal = 0, 
  PrincipalPolicy_NoPrincipal = 1, 
  PrincipalPolicy_WindowsPrincipal = 2
} PrincipalPolicy;

typedef enum WindowsAccountType
{
  WindowsAccountType_Normal = 0, 
  WindowsAccountType_Guest = 1, 
  WindowsAccountType_System = 2, 
  WindowsAccountType_Anonymous = 3
} WindowsAccountType;

typedef enum TokenImpersonationLevel
{
  TokenImpersonationLevel_None = 0, 
  TokenImpersonationLevel_Anonymous = 1, 
  TokenImpersonationLevel_Identification = 2, 
  TokenImpersonationLevel_Impersonation = 3, 
  TokenImpersonationLevel_Delegation = 4
} TokenImpersonationLevel;

typedef enum TokenAccessLevels
{
  TokenAccessLevels_AssignPrimary = 1, 
  TokenAccessLevels_Duplicate = 2, 
  TokenAccessLevels_Impersonate = 4, 
  TokenAccessLevels_Query = 8, 
  TokenAccessLevels_QuerySource = 16, 
  TokenAccessLevels_AdjustPrivileges = 32, 
  TokenAccessLevels_AdjustGroups = 64, 
  TokenAccessLevels_AdjustDefault = 128, 
  TokenAccessLevels_AdjustSessionId = 256, 
  TokenAccessLevels_Read = 131080, 
  TokenAccessLevels_Write = 131296, 
  TokenAccessLevels_AllAccess = 983551, 
  TokenAccessLevels_MaximumAllowed = 33554432
} TokenAccessLevels;

typedef enum WindowsBuiltInRole
{
  WindowsBuiltInRole_Administrator = 544, 
  WindowsBuiltInRole_User = 545, 
  WindowsBuiltInRole_Guest = 546, 
  WindowsBuiltInRole_PowerUser = 547, 
  WindowsBuiltInRole_AccountOperator = 548, 
  WindowsBuiltInRole_SystemOperator = 549, 
  WindowsBuiltInRole_PrintOperator = 550, 
  WindowsBuiltInRole_BackupOperator = 551, 
  WindowsBuiltInRole_Replicator = 552
} WindowsBuiltInRole;

typedef enum ComInterfaceType
{
  ComInterfaceType_InterfaceIsDual = 0, 
  ComInterfaceType_InterfaceIsIUnknown = 1, 
  ComInterfaceType_InterfaceIsIDispatch = 2
} ComInterfaceType;

typedef enum ClassInterfaceType
{
  ClassInterfaceType_None = 0, 
  ClassInterfaceType_AutoDispatch = 1, 
  ClassInterfaceType_AutoDual = 2
} ClassInterfaceType;

typedef enum IDispatchImplType
{
  IDispatchImplType_SystemDefinedImpl = 0, 
  IDispatchImplType_InternalImpl = 1, 
  IDispatchImplType_CompatibleImpl = 2
} IDispatchImplType;

typedef enum TypeLibTypeFlags
{
  TypeLibTypeFlags_FAppObject = 1, 
  TypeLibTypeFlags_FCanCreate = 2, 
  TypeLibTypeFlags_FLicensed = 4, 
  TypeLibTypeFlags_FPreDeclId = 8, 
  TypeLibTypeFlags_FHidden = 16, 
  TypeLibTypeFlags_FControl = 32, 
  TypeLibTypeFlags_FDual = 64, 
  TypeLibTypeFlags_FNonExtensible = 128, 
  TypeLibTypeFlags_FOleAutomation = 256, 
  TypeLibTypeFlags_FRestricted = 512, 
  TypeLibTypeFlags_FAggregatable = 1024, 
  TypeLibTypeFlags_FReplaceable = 2048, 
  TypeLibTypeFlags_FDispatchable = 4096, 
  TypeLibTypeFlags_FReverseBind = 8192
} TypeLibTypeFlags;

typedef enum TypeLibFuncFlags
{
  TypeLibFuncFlags_FRestricted = 1, 
  TypeLibFuncFlags_FSource = 2, 
  TypeLibFuncFlags_FBindable = 4, 
  TypeLibFuncFlags_FRequestEdit = 8, 
  TypeLibFuncFlags_FDisplayBind = 16, 
  TypeLibFuncFlags_FDefaultBind = 32, 
  TypeLibFuncFlags_FHidden = 64, 
  TypeLibFuncFlags_FUsesGetLastError = 128, 
  TypeLibFuncFlags_FDefaultCollelem = 256, 
  TypeLibFuncFlags_FUiDefault = 512, 
  TypeLibFuncFlags_FNonBrowsable = 1024, 
  TypeLibFuncFlags_FReplaceable = 2048, 
  TypeLibFuncFlags_FImmediateBind = 4096
} TypeLibFuncFlags;

typedef enum TypeLibVarFlags
{
  TypeLibVarFlags_FReadOnly = 1, 
  TypeLibVarFlags_FSource = 2, 
  TypeLibVarFlags_FBindable = 4, 
  TypeLibVarFlags_FRequestEdit = 8, 
  TypeLibVarFlags_FDisplayBind = 16, 
  TypeLibVarFlags_FDefaultBind = 32, 
  TypeLibVarFlags_FHidden = 64, 
  TypeLibVarFlags_FRestricted = 128, 
  TypeLibVarFlags_FDefaultCollelem = 256, 
  TypeLibVarFlags_FUiDefault = 512, 
  TypeLibVarFlags_FNonBrowsable = 1024, 
  TypeLibVarFlags_FReplaceable = 2048, 
  TypeLibVarFlags_FImmediateBind = 4096
} TypeLibVarFlags;

typedef enum VarEnum
{
  VarEnum_VT_EMPTY = 0, 
  VarEnum_VT_NULL = 1, 
  VarEnum_VT_I2 = 2, 
  VarEnum_VT_I4 = 3, 
  VarEnum_VT_R4 = 4, 
  VarEnum_VT_R8 = 5, 
  VarEnum_VT_CY = 6, 
  VarEnum_VT_DATE = 7, 
  VarEnum_VT_BSTR = 8, 
  VarEnum_VT_DISPATCH = 9, 
  VarEnum_VT_ERROR = 10, 
  VarEnum_VT_BOOL = 11, 
  VarEnum_VT_VARIANT = 12, 
  VarEnum_VT_UNKNOWN = 13, 
  VarEnum_VT_DECIMAL = 14, 
  VarEnum_VT_I1 = 16, 
  VarEnum_VT_UI1 = 17, 
  VarEnum_VT_UI2 = 18, 
  VarEnum_VT_UI4 = 19, 
  VarEnum_VT_I8 = 20, 
  VarEnum_VT_UI8 = 21, 
  VarEnum_VT_INT = 22, 
  VarEnum_VT_UINT = 23, 
  VarEnum_VT_VOID = 24, 
  VarEnum_VT_HRESULT = 25, 
  VarEnum_VT_PTR = 26, 
  VarEnum_VT_SAFEARRAY = 27, 
  VarEnum_VT_CARRAY = 28, 
  VarEnum_VT_USERDEFINED = 29, 
  VarEnum_VT_LPSTR = 30, 
  VarEnum_VT_LPWSTR = 31, 
  VarEnum_VT_RECORD = 36, 
  VarEnum_VT_FILETIME = 64, 
  VarEnum_VT_BLOB = 65, 
  VarEnum_VT_STREAM = 66, 
  VarEnum_VT_STORAGE = 67, 
  VarEnum_VT_STREAMED_OBJECT = 68, 
  VarEnum_VT_STORED_OBJECT = 69, 
  VarEnum_VT_BLOB_OBJECT = 70, 
  VarEnum_VT_CF = 71, 
  VarEnum_VT_CLSID = 72, 
  VarEnum_VT_VECTOR = 4096, 
  VarEnum_VT_ARRAY = 8192, 
  VarEnum_VT_BYREF = 16384
} VarEnum;

typedef enum UnmanagedType
{
  UnmanagedType_Bool = 2, 
  UnmanagedType_I1 = 3, 
  UnmanagedType_U1 = 4, 
  UnmanagedType_I2 = 5, 
  UnmanagedType_U2 = 6, 
  UnmanagedType_I4 = 7, 
  UnmanagedType_U4 = 8, 
  UnmanagedType_I8 = 9, 
  UnmanagedType_U8 = 10, 
  UnmanagedType_R4 = 11, 
  UnmanagedType_R8 = 12, 
  UnmanagedType_Currency = 15, 
  UnmanagedType_BStr = 19, 
  UnmanagedType_LPStr = 20, 
  UnmanagedType_LPWStr = 21, 
  UnmanagedType_LPTStr = 22, 
  UnmanagedType_ByValTStr = 23, 
  UnmanagedType_IUnknown = 25, 
  UnmanagedType_IDispatch = 26, 
  UnmanagedType_Struct = 27, 
  UnmanagedType_Interface = 28, 
  UnmanagedType_SafeArray = 29, 
  UnmanagedType_ByValArray = 30, 
  UnmanagedType_SysInt = 31, 
  UnmanagedType_SysUInt = 32, 
  UnmanagedType_VBByRefStr = 34, 
  UnmanagedType_AnsiBStr = 35, 
  UnmanagedType_TBStr = 36, 
  UnmanagedType_VariantBool = 37, 
  UnmanagedType_FunctionPtr = 38, 
  UnmanagedType_AsAny = 40, 
  UnmanagedType_LPArray = 42, 
  UnmanagedType_LPStruct = 43, 
  UnmanagedType_CustomMarshaler = 44, 
  UnmanagedType_Error = 45
} UnmanagedType;

typedef enum CallingConvention
{
  CallingConvention_Winapi = 1, 
  CallingConvention_Cdecl = 2, 
  CallingConvention_StdCall = 3, 
  CallingConvention_ThisCall = 4, 
  CallingConvention_FastCall = 5
} CallingConvention;

typedef enum CharSet
{
  CharSet_None = 1, 
  CharSet_Ansi = 2, 
  CharSet_Unicode = 3, 
  CharSet_Auto = 4
} CharSet;

typedef enum GCHandleType
{
  GCHandleType_Weak = 0, 
  GCHandleType_WeakTrackResurrection = 1, 
  GCHandleType_Normal = 2, 
  GCHandleType_Pinned = 3
} GCHandleType;

typedef enum LayoutKind
{
  LayoutKind_Sequential = 0, 
  LayoutKind_Explicit = 2, 
  LayoutKind_Auto = 3
} LayoutKind;

typedef enum ComMemberType
{
  ComMemberType_Method = 0, 
  ComMemberType_PropGet = 1, 
  ComMemberType_PropSet = 2
} ComMemberType;

typedef enum AssemblyRegistrationFlags
{
  AssemblyRegistrationFlags_None = 0, 
  AssemblyRegistrationFlags_SetCodeBase = 1
} AssemblyRegistrationFlags;

typedef enum TypeLibImporterFlags
{
  TypeLibImporterFlags_None = 0, 
  TypeLibImporterFlags_PrimaryInteropAssembly = 1, 
  TypeLibImporterFlags_UnsafeInterfaces = 2, 
  TypeLibImporterFlags_SafeArrayAsSystemArray = 4, 
  TypeLibImporterFlags_TransformDispRetVals = 8, 
  TypeLibImporterFlags_PreventClassMembers = 16, 
  TypeLibImporterFlags_SerializableValueClasses = 32, 
  TypeLibImporterFlags_ImportAsX86 = 256, 
  TypeLibImporterFlags_ImportAsX64 = 512, 
  TypeLibImporterFlags_ImportAsItanium = 1024, 
  TypeLibImporterFlags_ImportAsAgnostic = 2048, 
  TypeLibImporterFlags_ReflectionOnlyLoading = 4096
} TypeLibImporterFlags;

typedef enum TypeLibExporterFlags
{
  TypeLibExporterFlags_None = 0, 
  TypeLibExporterFlags_OnlyReferenceRegistered = 1, 
  TypeLibExporterFlags_CallerResolvedReferences = 2, 
  TypeLibExporterFlags_OldNames = 4, 
  TypeLibExporterFlags_ExportAs32Bit = 16, 
  TypeLibExporterFlags_ExportAs64Bit = 32
} TypeLibExporterFlags;

typedef enum ImporterEventKind
{
  ImporterEventKind_NOTIF_TYPECONVERTED = 0, 
  ImporterEventKind_NOTIF_CONVERTWARNING = 1, 
  ImporterEventKind_ERROR_REFTOINVALIDTYPELIB = 2
} ImporterEventKind;

typedef enum ExporterEventKind
{
  ExporterEventKind_NOTIF_TYPECONVERTED = 0, 
  ExporterEventKind_NOTIF_CONVERTWARNING = 1, 
  ExporterEventKind_ERROR_REFTOINVALIDASSEMBLY = 2
} ExporterEventKind;

typedef enum SearchOption
{
  SearchOption_TopDirectoryOnly = 0, 
  SearchOption_AllDirectories = 1
} SearchOption;

typedef enum DriveType
{
  DriveType_Unknown = 0, 
  DriveType_NoRootDirectory = 1, 
  DriveType_Removable = 2, 
  DriveType_Fixed = 3, 
  DriveType_Network = 4, 
  DriveType_CDRom = 5, 
  DriveType_Ram = 6
} DriveType;

typedef enum FileAccess
{
  FileAccess_Read = 1, 
  FileAccess_Write = 2, 
  FileAccess_ReadWrite = 3
} FileAccess;

typedef enum FileMode
{
  FileMode_CreateNew = 1, 
  FileMode_Create = 2, 
  FileMode_Open = 3, 
  FileMode_OpenOrCreate = 4, 
  FileMode_Truncate = 5, 
  FileMode_Append = 6
} FileMode;

typedef enum FileOptions
{
  FileOptions_None = 0, 
  FileOptions_WriteThrough = 0x80000000, 
  FileOptions_Asynchronous = 1073741824, 
  FileOptions_RandomAccess = 268435456, 
  FileOptions_DeleteOnClose = 67108864, 
  FileOptions_SequentialScan = 134217728, 
  FileOptions_Encrypted = 16384
} FileOptions;

typedef enum FileShare
{
  FileShare_None = 0, 
  FileShare_Read = 1, 
  FileShare_Write = 2, 
  FileShare_ReadWrite = 3, 
  FileShare_Delete = 4, 
  FileShare_Inheritable = 16
} FileShare;

typedef enum FileAttributes
{
  FileAttributes_ReadOnly = 1, 
  FileAttributes_Hidden = 2, 
  FileAttributes_System = 4, 
  FileAttributes_Directory = 16, 
  FileAttributes_Archive = 32, 
  FileAttributes_Device = 64, 
  FileAttributes_Normal = 128, 
  FileAttributes_Temporary = 256, 
  FileAttributes_SparseFile = 512, 
  FileAttributes_ReparsePoint = 1024, 
  FileAttributes_Compressed = 2048, 
  FileAttributes_Offline = 4096, 
  FileAttributes_NotContentIndexed = 8192, 
  FileAttributes_Encrypted = 16384
} FileAttributes;

typedef enum SeekOrigin
{
  SeekOrigin_Begin = 0, 
  SeekOrigin_Current = 1, 
  SeekOrigin_End = 2
} SeekOrigin;

typedef enum CompilationRelaxations
{
  CompilationRelaxations_NoStringInterning = 8
} CompilationRelaxations;

typedef enum MethodImplOptions
{
  MethodImplOptions_Unmanaged = 4, 
  MethodImplOptions_ForwardRef = 16, 
  MethodImplOptions_PreserveSig = 128, 
  MethodImplOptions_InternalCall = 4096, 
  MethodImplOptions_Synchronized = 32, 
  MethodImplOptions_NoInlining = 8
} MethodImplOptions;

typedef enum MethodCodeType
{
  MethodCodeType_IL = 0, 
  MethodCodeType_Native = 1, 
  MethodCodeType_OPTIL = 2, 
  MethodCodeType_Runtime = 3
} MethodCodeType;

typedef enum EnvironmentPermissionAccess
{
  EnvironmentPermissionAccess_NoAccess = 0, 
  EnvironmentPermissionAccess_Read = 1, 
  EnvironmentPermissionAccess_Write = 2, 
  EnvironmentPermissionAccess_AllAccess = 3
} EnvironmentPermissionAccess;

typedef enum FileDialogPermissionAccess
{
  FileDialogPermissionAccess_None = 0, 
  FileDialogPermissionAccess_Open = 1, 
  FileDialogPermissionAccess_Save = 2, 
  FileDialogPermissionAccess_OpenSave = 3
} FileDialogPermissionAccess;

typedef enum FileIOPermissionAccess
{
  FileIOPermissionAccess_NoAccess = 0, 
  FileIOPermissionAccess_Read = 1, 
  FileIOPermissionAccess_Write = 2, 
  FileIOPermissionAccess_Append = 4, 
  FileIOPermissionAccess_PathDiscovery = 8, 
  FileIOPermissionAccess_AllAccess = 15
} FileIOPermissionAccess;

typedef enum HostProtectionResource
{
  HostProtectionResource_None = 0, 
  HostProtectionResource_Synchronization = 1, 
  HostProtectionResource_SharedState = 2, 
  HostProtectionResource_ExternalProcessMgmt = 4, 
  HostProtectionResource_SelfAffectingProcessMgmt = 8, 
  HostProtectionResource_ExternalThreading = 16, 
  HostProtectionResource_SelfAffectingThreading = 32, 
  HostProtectionResource_SecurityInfrastructure = 64, 
  HostProtectionResource_UI = 128, 
  HostProtectionResource_MayLeakOnAbort = 256, 
  HostProtectionResource_All = 511
} HostProtectionResource;

typedef enum IsolatedStorageContainment
{
  IsolatedStorageContainment_None = 0, 
  IsolatedStorageContainment_DomainIsolationByUser = 16, 
  IsolatedStorageContainment_ApplicationIsolationByUser = 21, 
  IsolatedStorageContainment_AssemblyIsolationByUser = 32, 
  IsolatedStorageContainment_DomainIsolationByMachine = 48, 
  IsolatedStorageContainment_AssemblyIsolationByMachine = 64, 
  IsolatedStorageContainment_ApplicationIsolationByMachine = 69, 
  IsolatedStorageContainment_DomainIsolationByRoamingUser = 80, 
  IsolatedStorageContainment_AssemblyIsolationByRoamingUser = 96, 
  IsolatedStorageContainment_ApplicationIsolationByRoamingUser = 101, 
  IsolatedStorageContainment_AdministerIsolatedStorageByUser = 112, 
  IsolatedStorageContainment_UnrestrictedIsolatedStorage = 240
} IsolatedStorageContainment;

typedef enum PermissionState
{
  PermissionState_Unrestricted = 1, 
  PermissionState_None = 0
} PermissionState;

typedef enum SecurityAction
{
  SecurityAction_Demand = 2, 
  SecurityAction_Assert = 3, 
  SecurityAction_Deny = 4, 
  SecurityAction_PermitOnly = 5, 
  SecurityAction_LinkDemand = 6, 
  SecurityAction_InheritanceDemand = 7, 
  SecurityAction_RequestMinimum = 8, 
  SecurityAction_RequestOptional = 9, 
  SecurityAction_RequestRefuse = 10
} SecurityAction;

typedef enum ReflectionPermissionFlag
{
  ReflectionPermissionFlag_NoFlags = 0, 
  ReflectionPermissionFlag_TypeInformation = 1, 
  ReflectionPermissionFlag_MemberAccess = 2, 
  ReflectionPermissionFlag_ReflectionEmit = 4, 
  ReflectionPermissionFlag_AllFlags = 7
} ReflectionPermissionFlag;

typedef enum SecurityPermissionFlag
{
  SecurityPermissionFlag_NoFlags = 0, 
  SecurityPermissionFlag_Assertion = 1, 
  SecurityPermissionFlag_UnmanagedCode = 2, 
  SecurityPermissionFlag_SkipVerification = 4, 
  SecurityPermissionFlag_Execution = 8, 
  SecurityPermissionFlag_ControlThread = 16, 
  SecurityPermissionFlag_ControlEvidence = 32, 
  SecurityPermissionFlag_ControlPolicy = 64, 
  SecurityPermissionFlag_SerializationFormatter = 128, 
  SecurityPermissionFlag_ControlDomainPolicy = 256, 
  SecurityPermissionFlag_ControlPrincipal = 512, 
  SecurityPermissionFlag_ControlAppDomain = 1024, 
  SecurityPermissionFlag_RemotingConfiguration = 2048, 
  SecurityPermissionFlag_Infrastructure = 4096, 
  SecurityPermissionFlag_BindingRedirects = 8192, 
  SecurityPermissionFlag_AllFlags = 16383
} SecurityPermissionFlag;

typedef enum UIPermissionWindow
{
  UIPermissionWindow_NoWindows = 0, 
  UIPermissionWindow_SafeSubWindows = 1, 
  UIPermissionWindow_SafeTopLevelWindows = 2, 
  UIPermissionWindow_AllWindows = 3
} UIPermissionWindow;

typedef enum UIPermissionClipboard
{
  UIPermissionClipboard_NoClipboard = 0, 
  UIPermissionClipboard_OwnClipboard = 1, 
  UIPermissionClipboard_AllClipboard = 2
} UIPermissionClipboard;

typedef enum KeyContainerPermissionFlags
{
  KeyContainerPermissionFlags_NoFlags = 0, 
  KeyContainerPermissionFlags_Create = 1, 
  KeyContainerPermissionFlags_Open = 2, 
  KeyContainerPermissionFlags_Delete = 4, 
  KeyContainerPermissionFlags_Import = 16, 
  KeyContainerPermissionFlags_Export = 32, 
  KeyContainerPermissionFlags_Sign = 256, 
  KeyContainerPermissionFlags_Decrypt = 512, 
  KeyContainerPermissionFlags_ViewAcl = 4096, 
  KeyContainerPermissionFlags_ChangeAcl = 8192, 
  KeyContainerPermissionFlags_AllFlags = 13111
} KeyContainerPermissionFlags;

typedef enum RegistryPermissionAccess
{
  RegistryPermissionAccess_NoAccess = 0, 
  RegistryPermissionAccess_Read = 1, 
  RegistryPermissionAccess_Write = 2, 
  RegistryPermissionAccess_Create = 4, 
  RegistryPermissionAccess_AllAccess = 7
} RegistryPermissionAccess;

typedef enum HostSecurityManagerOptions
{
  HostSecurityManagerOptions_None = 0, 
  HostSecurityManagerOptions_HostAppDomainEvidence = 1, 
  HostSecurityManagerOptions_HostPolicyLevel = 2, 
  HostSecurityManagerOptions_HostAssemblyEvidence = 4, 
  HostSecurityManagerOptions_HostDetermineApplicationTrust = 8, 
  HostSecurityManagerOptions_HostResolvePolicy = 16, 
  HostSecurityManagerOptions_AllFlags = 31
} HostSecurityManagerOptions;

typedef enum PolicyLevelType
{
  PolicyLevelType_User = 0, 
  PolicyLevelType_Machine = 1, 
  PolicyLevelType_Enterprise = 2, 
  PolicyLevelType_AppDomain = 3
} PolicyLevelType;

typedef enum SecurityZone
{
  SecurityZone_MyComputer = 0, 
  SecurityZone_Intranet = 1, 
  SecurityZone_Trusted = 2, 
  SecurityZone_Internet = 3, 
  SecurityZone_Untrusted = 4, 
  SecurityZone_NoZone = 0xFFFFFFFF
} SecurityZone;

typedef enum WellKnownObjectMode
{
  WellKnownObjectMode_Singleton = 1, 
  WellKnownObjectMode_SingleCall = 2
} WellKnownObjectMode;

typedef enum ActivatorLevel
{
  ActivatorLevel_Construction = 4, 
  ActivatorLevel_Context = 8, 
  ActivatorLevel_AppDomain = 12, 
  ActivatorLevel_Process = 16, 
  ActivatorLevel_Machine = 20
} ActivatorLevel;

typedef enum ServerProcessing
{
  ServerProcessing_Complete = 0, 
  ServerProcessing_OneWay = 1, 
  ServerProcessing_Async = 2
} ServerProcessing;

typedef enum LeaseState
{
  LeaseState_Null = 0, 
  LeaseState_Initial = 1, 
  LeaseState_Active = 2, 
  LeaseState_Renewing = 3, 
  LeaseState_Expired = 4
} LeaseState;

typedef enum SoapOption
{
  SoapOption_None = 0, 
  SoapOption_AlwaysIncludeTypes = 1, 
  SoapOption_XsdString = 2, 
  SoapOption_EmbedAll = 4, 
  SoapOption_Option1 = 8, 
  SoapOption_Option2 = 16
} SoapOption;

typedef enum XmlFieldOrderOption
{
  XmlFieldOrderOption_All = 0, 
  XmlFieldOrderOption_Sequence = 1, 
  XmlFieldOrderOption_Choice = 2
} XmlFieldOrderOption;

typedef enum CustomErrorsModes
{
  CustomErrorsModes_On = 0, 
  CustomErrorsModes_Off = 1, 
  CustomErrorsModes_RemoteOnly = 2
} CustomErrorsModes;

typedef enum IsolatedStorageScope
{
  IsolatedStorageScope_None = 0, 
  IsolatedStorageScope_User = 1, 
  IsolatedStorageScope_Domain = 2, 
  IsolatedStorageScope_Assembly = 4, 
  IsolatedStorageScope_Roaming = 8, 
  IsolatedStorageScope_Machine = 16, 
  IsolatedStorageScope_Application = 32
} IsolatedStorageScope;

typedef enum FormatterTypeStyle
{
  FormatterTypeStyle_TypesWhenNeeded = 0, 
  FormatterTypeStyle_TypesAlways = 1, 
  FormatterTypeStyle_XsdString = 2
} FormatterTypeStyle;

typedef enum FormatterAssemblyStyle
{
  FormatterAssemblyStyle_Simple = 0, 
  FormatterAssemblyStyle_Full = 1
} FormatterAssemblyStyle;

typedef enum TypeFilterLevel
{
  TypeFilterLevel_Low = 2, 
  TypeFilterLevel_Full = 3
} TypeFilterLevel;

typedef enum AssemblyBuilderAccess
{
  AssemblyBuilderAccess_Run = 1, 
  AssemblyBuilderAccess_Save = 2, 
  AssemblyBuilderAccess_RunAndSave = 3, 
  AssemblyBuilderAccess_ReflectionOnly = 6
} AssemblyBuilderAccess;

typedef enum PEFileKinds
{
  PEFileKinds_Dll = 1, 
  PEFileKinds_ConsoleApplication = 2, 
  PEFileKinds_WindowApplication = 3
} PEFileKinds;

typedef enum OpCodeType
{
  OpCodeType_Annotation = 0, 
  OpCodeType_Macro = 1, 
  OpCodeType_Nternal = 2, 
  OpCodeType_Objmodel = 3, 
  OpCodeType_Prefix = 4, 
  OpCodeType_Primitive = 5
} OpCodeType;

typedef enum StackBehaviour
{
  StackBehaviour_Pop0 = 0, 
  StackBehaviour_Pop1 = 1, 
  StackBehaviour_Pop1_pop1 = 2, 
  StackBehaviour_Popi = 3, 
  StackBehaviour_Popi_pop1 = 4, 
  StackBehaviour_Popi_popi = 5, 
  StackBehaviour_Popi_popi8 = 6, 
  StackBehaviour_Popi_popi_popi = 7, 
  StackBehaviour_Popi_popr4 = 8, 
  StackBehaviour_Popi_popr8 = 9, 
  StackBehaviour_Popref = 10, 
  StackBehaviour_Popref_pop1 = 11, 
  StackBehaviour_Popref_popi = 12, 
  StackBehaviour_Popref_popi_popi = 13, 
  StackBehaviour_Popref_popi_popi8 = 14, 
  StackBehaviour_Popref_popi_popr4 = 15, 
  StackBehaviour_Popref_popi_popr8 = 16, 
  StackBehaviour_Popref_popi_popref = 17, 
  StackBehaviour_Push0 = 18, 
  StackBehaviour_Push1 = 19, 
  StackBehaviour_Push1_push1 = 20, 
  StackBehaviour_Pushi = 21, 
  StackBehaviour_Pushi8 = 22, 
  StackBehaviour_Pushr4 = 23, 
  StackBehaviour_Pushr8 = 24, 
  StackBehaviour_Pushref = 25, 
  StackBehaviour_Varpop = 26, 
  StackBehaviour_Varpush = 27, 
  StackBehaviour_Popref_popi_pop1 = 28
} StackBehaviour;

typedef enum OperandType
{
  OperandType_InlineBrTarget = 0, 
  OperandType_InlineField = 1, 
  OperandType_InlineI = 2, 
  OperandType_InlineI8 = 3, 
  OperandType_InlineMethod = 4, 
  OperandType_InlineNone = 5, 
  OperandType_InlinePhi = 6, 
  OperandType_InlineR = 7, 
  OperandType_InlineSig = 9, 
  OperandType_InlineString = 10, 
  OperandType_InlineSwitch = 11, 
  OperandType_InlineTok = 12, 
  OperandType_InlineType = 13, 
  OperandType_InlineVar = 14, 
  OperandType_ShortInlineBrTarget = 15, 
  OperandType_ShortInlineI = 16, 
  OperandType_ShortInlineR = 17, 
  OperandType_ShortInlineVar = 18
} OperandType;

typedef enum FlowControl
{
  FlowControl_Branch = 0, 
  FlowControl_Break = 1, 
  FlowControl_Call = 2, 
  FlowControl_Cond_Branch = 3, 
  FlowControl_Meta = 4, 
  FlowControl_Next = 5, 
  FlowControl_Phi = 6, 
  FlowControl_Return = 7, 
  FlowControl_Throw = 8
} FlowControl;

typedef enum PackingSize
{
  PackingSize_Unspecified = 0, 
  PackingSize_Size1 = 1, 
  PackingSize_Size2 = 2, 
  PackingSize_Size4 = 4, 
  PackingSize_Size8 = 8, 
  PackingSize_Size16 = 16, 
  PackingSize_Size32 = 32, 
  PackingSize_Size64 = 64, 
  PackingSize_Size128 = 128
} PackingSize;

typedef enum AssemblyHashAlgorithm
{
  AssemblyHashAlgorithm_None = 0, 
  AssemblyHashAlgorithm_MD5 = 32771, 
  AssemblyHashAlgorithm_SHA1 = 32772
} AssemblyHashAlgorithm;

typedef enum AssemblyVersionCompatibility
{
  AssemblyVersionCompatibility_SameMachine = 1, 
  AssemblyVersionCompatibility_SameProcess = 2, 
  AssemblyVersionCompatibility_SameDomain = 3
} AssemblyVersionCompatibility;

typedef enum CipherMode
{
  CipherMode_CBC = 1, 
  CipherMode_ECB = 2, 
  CipherMode_OFB = 3, 
  CipherMode_CFB = 4, 
  CipherMode_CTS = 5
} CipherMode;

typedef enum PaddingMode
{
  PaddingMode_None = 1, 
  PaddingMode_PKCS7 = 2, 
  PaddingMode_Zeros = 3, 
  PaddingMode_ANSIX923 = 4, 
  PaddingMode_ISO10126 = 5
} PaddingMode;

typedef enum FromBase64TransformMode
{
  FromBase64TransformMode_IgnoreWhiteSpaces = 0, 
  FromBase64TransformMode_DoNotIgnoreWhiteSpaces = 1
} FromBase64TransformMode;

typedef enum CspProviderFlags
{
  CspProviderFlags_NoFlags = 0, 
  CspProviderFlags_UseMachineKeyStore = 1, 
  CspProviderFlags_UseDefaultKeyContainer = 2, 
  CspProviderFlags_UseNonExportableKey = 4, 
  CspProviderFlags_UseExistingKey = 8, 
  CspProviderFlags_UseArchivableKey = 16, 
  CspProviderFlags_UseUserProtectedKey = 32, 
  CspProviderFlags_NoPrompt = 64
} CspProviderFlags;

typedef enum CryptoStreamMode
{
  CryptoStreamMode_Read = 0, 
  CryptoStreamMode_Write = 1
} CryptoStreamMode;

typedef enum KeyNumber
{
  KeyNumber_Exchange = 1, 
  KeyNumber_Signature = 2
} KeyNumber;

typedef enum X509ContentType
{
  X509ContentType_Unknown = 0, 
  X509ContentType_Cert = 1, 
  X509ContentType_SerializedCert = 2, 
  X509ContentType_Pfx = 3, 
  X509ContentType_Pkcs12 = 3, 
  X509ContentType_SerializedStore = 4, 
  X509ContentType_Pkcs7 = 5, 
  X509ContentType_Authenticode = 6
} X509ContentType;

typedef enum X509KeyStorageFlags
{
  X509KeyStorageFlags_DefaultKeySet = 0, 
  X509KeyStorageFlags_UserKeySet = 1, 
  X509KeyStorageFlags_MachineKeySet = 2, 
  X509KeyStorageFlags_Exportable = 4, 
  X509KeyStorageFlags_UserProtected = 8, 
  X509KeyStorageFlags_PersistKeySet = 16
} X509KeyStorageFlags;


// *********************************************************************//
// Déclaration de Structures et d'Unions définis dans la bibliothèque de types   
// *********************************************************************//
struct Boolean
{
  long m_value;
};

/*struct Byte
{
  unsigned_char m_value;
};*/

struct Char
{
  unsigned_char m_value;
};

struct Decimal
{
  long flags;
  long hi;
  long lo;
  long mid;
};

struct Double
{
  double m_value;
};

struct Guid
{
  long _a;
  short _b;
  short _c;
  unsigned_char _d;
  unsigned_char _e;
  unsigned_char _f;
  unsigned_char _g;
  unsigned_char _h;
  unsigned_char _i;
  unsigned_char _j;
  unsigned_char _k;
};

struct Int16
{
  short m_value;
};

struct Int32
{
  long m_value;
};

struct Int64
{
  __int64 m_value;
};

struct IntPtr
{
  void* m_value;
};

struct RuntimeArgumentHandle
{
  long m_ptr;
};

struct RuntimeTypeHandle
{
  long m_ptr;
};

struct RuntimeMethodHandle
{
  long m_ptr;
};

struct RuntimeFieldHandle
{
  long m_ptr;
};

struct ModuleHandle
{
  long m_ptr;
};

struct SByte
{
  signed_char m_value;
};

struct Single
{
  float m_value;
};

struct TimeSpan
{
  __int64 _ticks;
};

struct TypedReference
{
  long value;
  long Type;
};

struct UInt16
{
  unsigned_short m_value;
};

struct UInt32
{
  unsigned_long m_value;
};

struct UInt64
{
  unsigned_int64 m_value;
};

struct UIntPtr
{
  void* m_value;
};

struct Void
{
};

struct LockCookie
{
  long _dwFlags;
  long _dwWriterSeqNum;
  long _wReaderAndWriterLevel;
  long _dwThreadID;
};

struct NativeOverlapped
{
  long InternalLow;
  long InternalHigh;
  long OffsetLow;
  long OffsetHigh;
  long EventHandle;
};

struct DictionaryEntry
{
  LPUNKNOWN _key;
  LPUNKNOWN _value;
};

struct SymbolToken
{
  long m_token;
};

struct CustomAttributeTypedArgument
{
  LPUNKNOWN m_value;
  Mscorlib_tlb::_Type* m_argumentType;
};

struct CustomAttributeNamedArgument
{
  Mscorlib_tlb::_MemberInfo* m_memberInfo;
  Mscorlib_tlb::CustomAttributeTypedArgument m_value;
};

struct InterfaceMapping
{
  Mscorlib_tlb::_Type* TargetType;
  Mscorlib_tlb::_Type* interfaceType;
  LPSAFEARRAY TargetMethods;
  LPSAFEARRAY InterfaceMethods;
};

struct ParameterModifier
{
  LPSAFEARRAY _byRef;
};

struct SerializationEntry
{
  Mscorlib_tlb::_Type* m_type;
  LPUNKNOWN m_value;
  LPSTR m_name;
};

struct StreamingContext
{
  LPUNKNOWN m_additionalContext;
  Mscorlib_tlb::StreamingContextStates m_state;
};

struct ArrayWithOffset
{
  LPUNKNOWN m_array;
  long m_offset;
  long m_count;
};

struct GCHandle
{
  long m_handle;
};

struct HandleRef
{
  LPUNKNOWN m_wrapper;
  long m_handle;
};

struct EventToken
{
  long m_event;
};

struct FieldToken
{
  long m_fieldTok;
  LPUNKNOWN m_class;
};

struct Label
{
  long m_label;
};

struct MethodToken
{
  long m_method;
};

struct OpCode
{
  LPSTR m_stringname;
  Mscorlib_tlb::StackBehaviour m_pop;
  Mscorlib_tlb::StackBehaviour m_push;
  Mscorlib_tlb::OperandType m_operand;
  Mscorlib_tlb::OpCodeType m_type;
  long m_size;
  unsigned_char m_s1;
  unsigned_char m_s2;
  Mscorlib_tlb::FlowControl m_ctrl;
  long m_endsUncondJmpBlk;
  long m_stackChange;
};

struct ParameterToken
{
  long m_tkParameter;
};

struct PropertyToken
{
  long m_property;
};

struct SignatureToken
{
  long m_signature;
  Mscorlib_tlb::_ModuleBuilder* m_moduleBuilder;
};

struct StringToken
{
  long m_string;
};

struct TypeToken
{
  long m_class;
};

struct AssemblyHash
{
  Mscorlib_tlb::AssemblyHashAlgorithm _Algorithm;
  LPSAFEARRAY _value;
};

struct DSAParameters
{
  LPSAFEARRAY P;
  LPSAFEARRAY Q;
  LPSAFEARRAY G;
  LPSAFEARRAY y;
  LPSAFEARRAY J;
  LPSAFEARRAY x;
  LPSAFEARRAY Seed;
  long Counter;
};

struct RSAParameters
{
  LPSAFEARRAY Exponent;
  LPSAFEARRAY Modulus;
  LPSAFEARRAY P;
  LPSAFEARRAY Q;
  LPSAFEARRAY DP;
  LPSAFEARRAY DQ;
  LPSAFEARRAY InverseQ;
  LPSAFEARRAY D;
};

// *********************************************************************//
// Interface   : _Object
// Indicateurs : (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID        : {65074F7F-63C0-304E-AF0A-D51741CB4A8D}
// *********************************************************************//
interface _Object  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam obj/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ToString(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Equals(TVariantInParam obj/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetHashCode(void)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode((long*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ToString = {read = get_ToString};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICloneable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {0CB251A7-3AB3-3B5C-A0B8-9DDF88824B85}
// *********************************************************************//
interface ICloneable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Clone(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall Clone(void)
  {
    TVariant pRetVal;
    OLECHECK(this->Clone((TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IEnumerable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {496B0ABE-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
interface IEnumerable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetEnumerator(IEnumVARIANTPtr* pRetVal/*[out,retval]*/) = 0; // [-4]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  IEnumVARIANTPtr __fastcall GetEnumerator(void)
  {
    IEnumVARIANTPtr pRetVal;
    OLECHECK(this->GetEnumerator((IEnumVARIANTPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICollection
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {DE8DB6F8-D101-3A92-8D1C-E72E5F10E992}
// *********************************************************************//
interface ICollection  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE CopyTo(Mscorlib_tlb::_ArrayPtr Array/*[in]*/, long index/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Count(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_SyncRoot(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSynchronized(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall get_Count(void)
  {
    long pRetVal;
    OLECHECK(this->get_Count((long*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_SyncRoot(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_SyncRoot((TVariant*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_IsSynchronized(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_IsSynchronized((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   long            Count = {read = get_Count};
  __property   TOLEBOOL        IsSynchronized = {read = get_IsSynchronized};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IList
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {7BCFA00F-F764-3113-9140-3BBD127A96BB}
// *********************************************************************//
interface IList  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Item(long index/*[in]*/, TVariant* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE _set_Item(long index/*[in]*/, TVariantInParam pRetVal/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Add(TVariantInParam value/*[in]*/, long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Contains(TVariantInParam value/*[in]*/, 
                                             TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFixedSize(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IndexOf(TVariantInParam value/*[in]*/, 
                                            long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Insert(long index/*[in]*/, TVariantInParam value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Remove(TVariantInParam value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE RemoveAt(long index/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall get_Item(long index/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->get_Item(index, (TVariant*)&pRetVal));
    return pRetVal;
  }

  long __fastcall Add(TVariantInParam value/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->Add(value, (long*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Contains(TVariantInParam value/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Contains(value, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_IsReadOnly(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_IsReadOnly((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_IsFixedSize(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_IsFixedSize((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall IndexOf(TVariantInParam value/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->IndexOf(value, (long*)&pRetVal));
    return pRetVal;
  }


  __property   TOLEBOOL        IsReadOnly = {read = get_IsReadOnly};
  __property   TOLEBOOL        IsFixedSize = {read = get_IsFixedSize};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Array
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2B67CECE-71C3-36A9-A136-925CCC1935A8}
// *********************************************************************//
interface _Array  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ValueType
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {139E041D-0E41-39F5-A302-C4387E9D0A6C}
// *********************************************************************//
interface _ValueType  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IEnumerator
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {496B0ABF-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
interface IEnumerator  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE MoveNext(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Current(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall MoveNext(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->MoveNext((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_Current(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_Current((TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IDisposable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {805D7A98-D4AF-3F0F-967F-E5CF45312D2C}
// *********************************************************************//
interface IDisposable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Dispose(void) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IComparable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {DEB0E770-91FD-3CF6-9A6C-E6A3656F3965}
// *********************************************************************//
interface IComparable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE CompareTo(TVariantInParam obj/*[in]*/, 
                                              long* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall CompareTo(TVariantInParam obj/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->CompareTo(obj, (long*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IFormattable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {9A604EE7-E630-3DED-9444-BAAE247075AB}
// *********************************************************************//
interface IFormattable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR format/*[in]*/, 
                                                 Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/, 
                                                 BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ToString(BSTR format/*[in]*/, 
                               Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString(format, formatProvider, (BSTR*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IConvertible
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {805E3B62-B5E9-393D-8941-377D8BF4556B}
// *********************************************************************//
interface IConvertible  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeCode(Mscorlib_tlb::TypeCode* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToBoolean(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToChar(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                           unsigned_short* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToSByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                            signed_char* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                           unsigned_char* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                            short* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToUInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                             unsigned_short* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                            long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToUInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                             unsigned_long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                            __int64* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToUInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                             unsigned_int64* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToSingle(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                             float* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToDouble(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                             double* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToDecimal(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                              DECIMAL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToDateTime(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                               DATE* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                                 BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToType(Mscorlib_tlb::_TypePtr conversionType/*[in]*/, 
                                           Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                           TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::TypeCode __fastcall GetTypeCode(void)
  {
    Mscorlib_tlb::TypeCode pRetVal;
    OLECHECK(this->GetTypeCode((Mscorlib_tlb::TypeCode*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall ToBoolean(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->ToBoolean(provider, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  unsigned_short __fastcall ToChar(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    unsigned_short pRetVal;
    OLECHECK(this->ToChar(provider, (unsigned_short*)&pRetVal));
    return pRetVal;
  }

  signed_char __fastcall ToSByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    signed_char pRetVal;
    OLECHECK(this->ToSByte(provider, (signed_char*)&pRetVal));
    return pRetVal;
  }

  unsigned_char __fastcall ToByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    unsigned_char pRetVal;
    OLECHECK(this->ToByte(provider, (unsigned_char*)&pRetVal));
    return pRetVal;
  }

  short __fastcall ToInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    short pRetVal;
    OLECHECK(this->ToInt16(provider, (short*)&pRetVal));
    return pRetVal;
  }

  unsigned_short __fastcall ToUInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    unsigned_short pRetVal;
    OLECHECK(this->ToUInt16(provider, (unsigned_short*)&pRetVal));
    return pRetVal;
  }

  long __fastcall ToInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->ToInt32(provider, (long*)&pRetVal));
    return pRetVal;
  }

  unsigned_long __fastcall ToUInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    unsigned_long pRetVal;
    OLECHECK(this->ToUInt32(provider, (unsigned_long*)&pRetVal));
    return pRetVal;
  }

  __int64 __fastcall ToInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    __int64 pRetVal;
    OLECHECK(this->ToInt64(provider, (__int64*)&pRetVal));
    return pRetVal;
  }

  unsigned_int64 __fastcall ToUInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    unsigned_int64 pRetVal;
    OLECHECK(this->ToUInt64(provider, (unsigned_int64*)&pRetVal));
    return pRetVal;
  }

  float __fastcall ToSingle(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    float pRetVal;
    OLECHECK(this->ToSingle(provider, (float*)&pRetVal));
    return pRetVal;
  }

  double __fastcall ToDouble(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    double pRetVal;
    OLECHECK(this->ToDouble(provider, (double*)&pRetVal));
    return pRetVal;
  }

  DECIMAL __fastcall ToDecimal(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    DECIMAL pRetVal;
    OLECHECK(this->ToDecimal(provider, (DECIMAL*)&pRetVal));
    return pRetVal;
  }

  DATE __fastcall ToDateTime(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    DATE pRetVal;
    OLECHECK(this->ToDateTime(provider, (DATE*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_ToString(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString(provider, (BSTR*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall ToType(Mscorlib_tlb::_TypePtr conversionType/*[in]*/, 
                             Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->ToType(conversionType, provider, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Enum
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D09D1E04-D590-39A3-B517-B734A49A9277}
// *********************************************************************//
interface _Enum  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _String
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {36936699-FC79-324D-AB43-E33C1F94E263}
// *********************************************************************//
interface _String  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IComparer
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {C20FD3EB-7022-3D14-8477-760FAB54E50D}
// *********************************************************************//
interface IComparer  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Compare(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/, 
                                            long* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall Compare(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->Compare(x, y, (long*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IEqualityComparer
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {AAB7C6EA-CAB0-3ADB-82AA-CF32E29AF238}
// *********************************************************************//
interface IEqualityComparer  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(TVariantInParam obj/*[in]*/, 
                                                long* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall Equals(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(x, y, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetHashCode(TVariantInParam obj/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode(obj, (long*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StringComparer
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7499E7E8-DF01-3948-B8D4-FA4B9661D36B}
// *********************************************************************//
interface _StringComparer  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISerializable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {D0EEAA62-3D30-3EE2-B896-A2F34DDA47D8}
// *********************************************************************//
interface ISerializable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                                  Mscorlib_tlb::StreamingContext Context/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StringBuilder
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9FB09782-8D39-3B0C-B79E-F7A37A65B3DA}
// *********************************************************************//
interface _StringBuilder  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Exception
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {B36B5C63-42EF-38BC-A07E-0B34C98F164A}
// *********************************************************************//
interface _Exception  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam obj/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Message(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetBaseException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_StackTrace(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_HelpLink(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_HelpLink(BSTR pRetVal/*[in]*/) = 0; // [1610743815]
  virtual HRESULT STDMETHODCALLTYPE get_Source(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_Source(BSTR pRetVal/*[in]*/) = 0; // [1610743817]
  virtual HRESULT STDMETHODCALLTYPE GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                                  Mscorlib_tlb::StreamingContext Context/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_InnerException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_TargetSite(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ToString(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Equals(TVariantInParam obj/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetHashCode(void)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode((long*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_Message(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_Message((BSTR*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ExceptionPtr __fastcall GetBaseException(void)
  {
    Mscorlib_tlb::_ExceptionPtr pRetVal;
    OLECHECK(this->GetBaseException((Mscorlib_tlb::_ExceptionPtr*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_StackTrace(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_StackTrace((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_HelpLink(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_HelpLink((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_Source(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_Source((BSTR*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ExceptionPtr __fastcall get_InnerException(void)
  {
    Mscorlib_tlb::_ExceptionPtr pRetVal;
    OLECHECK(this->get_InnerException((Mscorlib_tlb::_ExceptionPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodBasePtr __fastcall get_TargetSite(void)
  {
    Mscorlib_tlb::_MethodBasePtr pRetVal;
    OLECHECK(this->get_TargetSite((Mscorlib_tlb::_MethodBasePtr*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ToString = {read = get_ToString};
  __property   BSTR            Message = {read = get_Message};
  __property   BSTR            StackTrace = {read = get_StackTrace};
  __property   BSTR            HelpLink = {read = get_HelpLink, write = set_HelpLink};
  __property   BSTR            Source = {read = get_Source, write = set_Source};
  __property   Mscorlib_tlb::_ExceptionPtr InnerException = {read = get_InnerException};
  __property   Mscorlib_tlb::_MethodBasePtr TargetSite = {read = get_TargetSite};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SystemException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4C482CC2-68E9-37C6-8353-9A94BD2D7F0B}
// *********************************************************************//
interface _SystemException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OutOfMemoryException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CF3EDB7E-0574-3383-A44F-292F7C145DB4}
// *********************************************************************//
interface _OutOfMemoryException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StackOverflowException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9CF4339A-2911-3B8A-8F30-E5C6B5BE9A29}
// *********************************************************************//
interface _StackOverflowException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DataMisalignedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {152A6B4D-09AF-3EDF-8CBA-11797EEEEA4E}
// *********************************************************************//
interface _DataMisalignedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ExecutionEngineException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CCF0139C-79F7-3D0A-AFFE-2B0762C65B07}
// *********************************************************************//
interface _ExecutionEngineException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Delegate
// Indicateurs : (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID        : {FB6AB00F-5096-3AF8-A33D-D7885A5FA829}
// *********************************************************************//
interface _Delegate  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam obj/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetInvocationList(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Clone(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                                  Mscorlib_tlb::StreamingContext Context/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DynamicInvoke(LPSAFEARRAY args/*[in]*/, 
                                                  TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Method(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Target(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ToString(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Equals(TVariantInParam obj/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetHashCode(void)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode((long*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetInvocationList(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetInvocationList((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall Clone(void)
  {
    TVariant pRetVal;
    OLECHECK(this->Clone((TVariant*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall DynamicInvoke(LPSAFEARRAY args/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->DynamicInvoke(args, (TVariant*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodInfoPtr __fastcall get_Method(void)
  {
    Mscorlib_tlb::_MethodInfoPtr pRetVal;
    OLECHECK(this->get_Method((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_Target(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_Target((TVariant*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::_MethodInfoPtr Method = {read = get_Method};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MulticastDelegate
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {16FE0885-9129-3884-A232-90B58C5B2AA9}
// *********************************************************************//
interface _MulticastDelegate  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MemberAccessException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7EABA4E2-1259-3CF2-B084-9854278E5897}
// *********************************************************************//
interface _MemberAccessException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Activator
// Indicateurs : (256) OleAutomation
// GUID        : {03973551-57A1-3900-A2B5-9083E3FF2943}
// *********************************************************************//
interface _Activator  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _AccessViolationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {13EF674A-6327-3CAF-8772-FA0395612669}
// *********************************************************************//
interface _AccessViolationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationActivator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D1204423-01F0-336A-8911-A7E8FBE185A3}
// *********************************************************************//
interface _ApplicationActivator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D81130BF-D627-3B91-A7C7-CEA597093464}
// *********************************************************************//
interface _ApplicationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EventArgs
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1F9EC719-343A-3CB3-8040-3927626777C1}
// *********************************************************************//
interface _EventArgs  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ResolveEventArgs
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {98947CF0-77E7-328E-B709-5DD1AA1C9C96}
// *********************************************************************//
interface _ResolveEventArgs  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyLoadEventArgs
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7A0325F0-22C2-31F9-8823-9B8AEE9456B1}
// *********************************************************************//
interface _AssemblyLoadEventArgs  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ResolveEventHandler
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8E54A9CC-7AA4-34CA-985B-BD7D7527B110}
// *********************************************************************//
interface _ResolveEventHandler  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyLoadEventHandler
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DEECE11F-A893-3E35-A4C3-DAB7FA0911EB}
// *********************************************************************//
interface _AssemblyLoadEventHandler  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AppDomainInitializer
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5E6F9EDB-3CE1-3A56-86D9-CD2DDF7A6FFF}
// *********************************************************************//
interface _AppDomainInitializer  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MarshalByRefObject
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2C358E27-8C1A-3C03-B086-A40465625557}
// *********************************************************************//
interface _MarshalByRefObject  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AppDomain
// Indicateurs : (256) OleAutomation
// GUID        : {05F696DC-2B29-3663-AD8B-C4389CF2A713}
// *********************************************************************//
interface _AppDomain  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetLifetimeService(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_DomainUnload(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_DomainUnload(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_AssemblyLoad(Mscorlib_tlb::_AssemblyLoadEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_AssemblyLoad(Mscorlib_tlb::_AssemblyLoadEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_ProcessExit(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_ProcessExit(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_TypeResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_TypeResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_ResourceResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_ResourceResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_AssemblyResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_AssemblyResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_UnhandledException(Mscorlib_tlb::_UnhandledExceptionEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_UnhandledException(Mscorlib_tlb::_UnhandledExceptionEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                          Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                          Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_2(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            BSTR dir/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_3(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_4(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_5(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            BSTR dir/*[in]*/, 
                                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_6(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            BSTR dir/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_7(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_8(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            BSTR dir/*[in]*/, 
                                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDynamicAssembly_9(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                            BSTR dir/*[in]*/, 
                                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                            TOLEBOOL IsSynchronized/*[in]*/, 
                                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstance(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                                   Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstanceFrom(BSTR assemblyFile/*[in]*/, 
                                                       BSTR typeName/*[in]*/, 
                                                       Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstance_2(BSTR AssemblyName/*[in]*/, 
                                                     BSTR typeName/*[in]*/, 
                                                     LPSAFEARRAY activationAttributes/*[in]*/, 
                                                     Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstanceFrom_2(BSTR assemblyFile/*[in]*/, 
                                                         BSTR typeName/*[in]*/, 
                                                         LPSAFEARRAY activationAttributes/*[in]*/, 
                                                         Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstance_3(BSTR AssemblyName/*[in]*/, 
                                                     BSTR typeName/*[in]*/, 
                                                     TOLEBOOL ignoreCase/*[in]*/, 
                                                     Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                     Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                     LPSAFEARRAY args/*[in]*/, 
                                                     Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                     LPSAFEARRAY activationAttributes/*[in]*/, 
                                                     Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/, 
                                                     Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstanceFrom_3(BSTR assemblyFile/*[in]*/, 
                                                         BSTR typeName/*[in]*/, 
                                                         TOLEBOOL ignoreCase/*[in]*/, 
                                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                         Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                         LPSAFEARRAY args/*[in]*/, 
                                                         Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                         LPSAFEARRAY activationAttributes/*[in]*/, 
                                                         Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/, 
                                                         Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Load(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                                         Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Load_2(BSTR assemblyString/*[in]*/, 
                                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Load_3(LPSAFEARRAY rawAssembly/*[in]*/, 
                                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Load_4(LPSAFEARRAY rawAssembly/*[in]*/, 
                                           LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Load_5(LPSAFEARRAY rawAssembly/*[in]*/, 
                                           LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                           Mscorlib_tlb::_EvidencePtr securityEvidence/*[in]*/, 
                                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Load_6(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                                           Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Load_7(BSTR assemblyString/*[in]*/, 
                                           Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ExecuteAssembly(BSTR assemblyFile/*[in]*/, 
                                                    Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                                    long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ExecuteAssembly_2(BSTR assemblyFile/*[in]*/, 
                                                      long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ExecuteAssembly_3(BSTR assemblyFile/*[in]*/, 
                                                      Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                                      LPSAFEARRAY args/*[in]*/, 
                                                      long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_FriendlyName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_BaseDirectory(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_RelativeSearchPath(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ShadowCopyFiles(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AppendPrivatePath(BSTR Path/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ClearPrivatePath(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetShadowCopyPath(BSTR s/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ClearShadowCopyPath(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetCachePath(BSTR s/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetData(BSTR name/*[in]*/, TVariantInParam data/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetData(BSTR name/*[in]*/, TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetAppDomainPolicy(Mscorlib_tlb::_PolicyLevelPtr domainPolicy/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetThreadPrincipal(Mscorlib_tlb::IPrincipalPtr principal/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetPrincipalPolicy(Mscorlib_tlb::PrincipalPolicy policy/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DoCallBack(Mscorlib_tlb::_CrossAppDomainDelegatePtr theDelegate/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DynamicDirectory(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : IEvidenceFactory
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {35A8F3AC-FE28-360F-A0C0-9A4D50C4682A}
// *********************************************************************//
interface IEvidenceFactory  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_EvidencePtr __fastcall get_Evidence(void)
  {
    Mscorlib_tlb::_EvidencePtr pRetVal;
    OLECHECK(this->get_Evidence((Mscorlib_tlb::_EvidencePtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::_EvidencePtr Evidence = {read = get_Evidence};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CrossAppDomainDelegate
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AF93163F-C2F4-3FAB-9FF1-728A7AAAD1CB}
// *********************************************************************//
interface _CrossAppDomainDelegate  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AppDomainManager
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {63E53E04-D31B-3099-9F0C-C7A1C883C1D9}
// *********************************************************************//
interface _AppDomainManager  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IAppDomainSetup
// Indicateurs : (256) OleAutomation
// GUID        : {27FFF232-A7A8-40DD-8D4A-734AD59FCD41}
// *********************************************************************//
interface IAppDomainSetup  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ApplicationBase(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ApplicationBase(BSTR pRetVal/*[in]*/) = 0; // [1610678272]
  virtual HRESULT STDMETHODCALLTYPE get_ApplicationName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ApplicationName(BSTR pRetVal/*[in]*/) = 0; // [1610678274]
  virtual HRESULT STDMETHODCALLTYPE get_CachePath(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_CachePath(BSTR pRetVal/*[in]*/) = 0; // [1610678276]
  virtual HRESULT STDMETHODCALLTYPE get_ConfigurationFile(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ConfigurationFile(BSTR pRetVal/*[in]*/) = 0; // [1610678278]
  virtual HRESULT STDMETHODCALLTYPE get_DynamicBase(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_DynamicBase(BSTR pRetVal/*[in]*/) = 0; // [1610678280]
  virtual HRESULT STDMETHODCALLTYPE get_LicenseFile(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_LicenseFile(BSTR pRetVal/*[in]*/) = 0; // [1610678282]
  virtual HRESULT STDMETHODCALLTYPE get_PrivateBinPath(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_PrivateBinPath(BSTR pRetVal/*[in]*/) = 0; // [1610678284]
  virtual HRESULT STDMETHODCALLTYPE get_PrivateBinPathProbe(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_PrivateBinPathProbe(BSTR pRetVal/*[in]*/) = 0; // [1610678286]
  virtual HRESULT STDMETHODCALLTYPE get_ShadowCopyDirectories(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ShadowCopyDirectories(BSTR pRetVal/*[in]*/) = 0; // [1610678288]
  virtual HRESULT STDMETHODCALLTYPE get_ShadowCopyFiles(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ShadowCopyFiles(BSTR pRetVal/*[in]*/) = 0; // [1610678290]
};

// *********************************************************************//
// Interface   : _Attribute
// Indicateurs : (256) OleAutomation
// GUID        : {917B14D0-2D9E-38B8-92A9-381ACF52F7C0}
// *********************************************************************//
interface _Attribute  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _LoaderOptimizationAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CE59D7AD-05CA-33B4-A1DD-06028D46E9D2}
// *********************************************************************//
interface _LoaderOptimizationAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AppDomainUnloadedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6E96AA70-9FFB-399D-96BF-A68436095C54}
// *********************************************************************//
interface _AppDomainUnloadedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ActivationArguments
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CFD9CA27-F0BA-388A-ACDE-B7E20FCAD79C}
// *********************************************************************//
interface _ActivationArguments  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationId
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2F218F95-4215-3CC6-8A51-BD2770C090E4}
// *********************************************************************//
interface _ApplicationId  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ArgumentException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4DB2C2B7-CBC2-3185-B966-875D4625B1A8}
// *********************************************************************//
interface _ArgumentException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ArgumentNullException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C991949B-E623-3F24-885C-BBB01FF43564}
// *********************************************************************//
interface _ArgumentNullException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ArgumentOutOfRangeException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {77DA3028-BC45-3E82-BF76-2C123EE2C021}
// *********************************************************************//
interface _ArgumentOutOfRangeException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ArithmeticException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9B012CF1-ACF6-3389-A336-C023040C62A2}
// *********************************************************************//
interface _ArithmeticException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ArrayTypeMismatchException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DD7488A6-1B3F-3823-9556-C2772B15150F}
// *********************************************************************//
interface _ArrayTypeMismatchException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AsyncCallback
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3612706E-0239-35FD-B900-0819D16D442D}
// *********************************************************************//
interface _AsyncCallback  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AttributeUsageAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A902A192-49BA-3EC8-B444-AF5F7743F61A}
// *********************************************************************//
interface _AttributeUsageAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BadImageFormatException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F98BCE04-4A4B-398C-A512-FD8348D51E3B}
// *********************************************************************//
interface _BadImageFormatException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Buffer
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F036BCA4-F8DF-3682-8290-75285CE7456C}
// *********************************************************************//
interface _Buffer  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CannotUnloadAppDomainException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6D4B6ADB-B9FA-3809-B5EA-FA57B56C546F}
// *********************************************************************//
interface _CannotUnloadAppDomainException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CharEnumerator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1DD627FC-89E3-384F-BB9D-58CB4EFB9456}
// *********************************************************************//
interface _CharEnumerator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CLSCompliantAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BF1AF177-94CA-3E6D-9D91-55CF9E859D22}
// *********************************************************************//
interface _CLSCompliantAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeUnloadedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C2A10F3A-356A-3C77-AAB9-8991D73A2561}
// *********************************************************************//
interface _TypeUnloadedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Thread
// Indicateurs : (256) OleAutomation
// GUID        : {C281C7F1-4AA9-3517-961A-463CFED57E75}
// *********************************************************************//
interface _Thread  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _CriticalFinalizerObject
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6B3F9834-1725-38C5-955E-20F051D067BD}
// *********************************************************************//
interface _CriticalFinalizerObject  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ContextMarshalException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7386F4D7-7C11-389F-BB75-895714B12BB5}
// *********************************************************************//
interface _ContextMarshalException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ContextBoundObject
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3EB1D909-E8BF-3C6B-ADA5-0E86E31E186E}
// *********************************************************************//
interface _ContextBoundObject  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ContextStaticAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {160D517F-F175-3B61-8264-6D2305B8246C}
// *********************************************************************//
interface _ContextStaticAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TimeZone
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3025F666-7891-33D7-AACD-23D169EF354E}
// *********************************************************************//
interface _TimeZone  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DBNull
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0D9F1B65-6D27-3E9F-BAF3-0597837E0F33}
// *********************************************************************//
interface _DBNull  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Binder
// Indicateurs : (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID        : {3169AB11-7109-3808-9A61-EF4BA0534FD9}
// *********************************************************************//
interface _Binder  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam obj/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                 LPSAFEARRAY match/*[in]*/, 
                                                 LPSAFEARRAY* args/*[in,out]*/, 
                                                 LPSAFEARRAY modifiers/*[in]*/, 
                                                 Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                 LPSAFEARRAY names/*[in]*/, TVariant* state/*[out]*/, 
                                                 Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                LPSAFEARRAY match/*[in]*/, 
                                                TVariantInParam value/*[in]*/, 
                                                Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                 LPSAFEARRAY match/*[in]*/, 
                                                 LPSAFEARRAY types/*[in]*/, 
                                                 LPSAFEARRAY modifiers/*[in]*/, 
                                                 Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                   LPSAFEARRAY match/*[in]*/, 
                                                   Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                   LPSAFEARRAY indexes/*[in]*/, 
                                                   LPSAFEARRAY modifiers/*[in]*/, 
                                                   Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ChangeType(TVariantInParam value/*[in]*/, 
                                               Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                               Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                               TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ReorderArgumentArray(LPSAFEARRAY* args/*[in,out]*/, 
                                                         TVariantInParam state/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ToString(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Equals(TVariantInParam obj/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetHashCode(void)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode((long*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodBasePtr __fastcall BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                       LPSAFEARRAY match/*[in]*/, 
                                                       LPSAFEARRAY* args/*[in,out]*/, 
                                                       LPSAFEARRAY modifiers/*[in]*/, 
                                                       Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                       LPSAFEARRAY names/*[in]*/, 
                                                       TVariant* state/*[out]*/)
  {
    Mscorlib_tlb::_MethodBasePtr pRetVal;
    OLECHECK(this->BindToMethod(bindingAttr, match, args, modifiers, culture, names, state, (Mscorlib_tlb::_MethodBasePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_FieldInfoPtr __fastcall BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                     LPSAFEARRAY match/*[in]*/, 
                                                     TVariantInParam value/*[in]*/, 
                                                     Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
  {
    Mscorlib_tlb::_FieldInfoPtr pRetVal;
    OLECHECK(this->BindToField(bindingAttr, match, value, culture, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodBasePtr __fastcall SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                       LPSAFEARRAY match/*[in]*/, 
                                                       LPSAFEARRAY types/*[in]*/, 
                                                       LPSAFEARRAY modifiers/*[in]*/)
  {
    Mscorlib_tlb::_MethodBasePtr pRetVal;
    OLECHECK(this->SelectMethod(bindingAttr, match, types, modifiers, (Mscorlib_tlb::_MethodBasePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_PropertyInfoPtr __fastcall SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                           LPSAFEARRAY match/*[in]*/, 
                                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                           LPSAFEARRAY indexes/*[in]*/, 
                                                           LPSAFEARRAY modifiers/*[in]*/)
  {
    Mscorlib_tlb::_PropertyInfoPtr pRetVal;
    OLECHECK(this->SelectProperty(bindingAttr, match, returnType, indexes, modifiers, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall ChangeType(TVariantInParam value/*[in]*/, Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                 Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->ChangeType(value, Type, culture, (TVariant*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ToString = {read = get_ToString};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IObjectReference
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {6E70ED5F-0439-38CE-83BB-860F1421F29F}
// *********************************************************************//
interface IObjectReference  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetRealObject(Mscorlib_tlb::StreamingContext Context/*[in]*/, 
                                                  TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall GetRealObject(Mscorlib_tlb::StreamingContext Context/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->GetRealObject(Context, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DivideByZeroException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BDEEA460-8241-3B41-9ED3-6E3E9977AC7F}
// *********************************************************************//
interface _DivideByZeroException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DuplicateWaitObjectException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D345A42B-CFE0-3EEE-861C-F3322812B388}
// *********************************************************************//
interface _DuplicateWaitObjectException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeLoadException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {82D6B3BF-A633-3B3B-A09E-2363E4B24A41}
// *********************************************************************//
interface _TypeLoadException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EntryPointNotFoundException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {67388F3F-B600-3BCF-84AA-BB2B88DD9EE2}
// *********************************************************************//
interface _EntryPointNotFoundException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DllNotFoundException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {24AE6464-2834-32CD-83D6-FA06953DE62A}
// *********************************************************************//
interface _DllNotFoundException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Environment
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {29DC56CF-B981-3432-97C8-3680AB6D862D}
// *********************************************************************//
interface _Environment  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EventHandler
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7CEFC46E-16E0-3E65-9C38-55B4342BA7F0}
// *********************************************************************//
interface _EventHandler  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FieldAccessException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8D5F5811-FFA1-3306-93E3-8AFC572B9B82}
// *********************************************************************//
interface _FieldAccessException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FlagsAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EBE3746D-DDEC-3D23-8E8D-9361BA87BAC6}
// *********************************************************************//
interface _FlagsAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FormatException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {07F92156-398A-3548-90B7-2E58026353D0}
// *********************************************************************//
interface _FormatException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IAsyncResult
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {11AB34E7-0176-3C9E-9EFE-197858400A3D}
// *********************************************************************//
interface IAsyncResult  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_IsCompleted(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AsyncWaitHandle(Mscorlib_tlb::_WaitHandlePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AsyncState(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CompletedSynchronously(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall get_IsCompleted(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_IsCompleted((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_WaitHandlePtr __fastcall get_AsyncWaitHandle(void)
  {
    Mscorlib_tlb::_WaitHandlePtr pRetVal;
    OLECHECK(this->get_AsyncWaitHandle((Mscorlib_tlb::_WaitHandlePtr*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_AsyncState(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_AsyncState((TVariant*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_CompletedSynchronously(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_CompletedSynchronously((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   TOLEBOOL        IsCompleted = {read = get_IsCompleted};
  __property   Mscorlib_tlb::_WaitHandlePtr AsyncWaitHandle = {read = get_AsyncWaitHandle};
  __property   TOLEBOOL        CompletedSynchronously = {read = get_CompletedSynchronously};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICustomFormatter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {2B130940-CA5E-3406-8385-E259E68AB039}
// *********************************************************************//
interface ICustomFormatter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE format(BSTR format/*[in]*/, TVariantInParam arg/*[in]*/, 
                                           Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/, 
                                           BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall format(BSTR format/*[in]*/, TVariantInParam arg/*[in]*/, 
                         Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->format(format, arg, formatProvider, (BSTR*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IFormatProvider
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {C8CB1DED-2814-396A-9CC0-473CA49779CC}
// *********************************************************************//
interface IFormatProvider  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetFormat(Mscorlib_tlb::_TypePtr formatType/*[in]*/, 
                                              TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall GetFormat(Mscorlib_tlb::_TypePtr formatType/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->GetFormat(formatType, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IndexOutOfRangeException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E5A5F1E4-82C1-391F-A1C6-F39EAE9DC72F}
// *********************************************************************//
interface _IndexOutOfRangeException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InvalidCastException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FA047CBD-9BA5-3A13-9B1F-6694D622CD76}
// *********************************************************************//
interface _InvalidCastException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InvalidOperationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8D520D10-0B8A-3553-8874-D30A4AD2FF4C}
// *********************************************************************//
interface _InvalidOperationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InvalidProgramException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3410E0FB-636F-3CD1-8045-3993CA113F25}
// *********************************************************************//
interface _InvalidProgramException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _LocalDataStoreSlot
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DC77F976-318D-3A1A-9B60-ABB9DD9406D6}
// *********************************************************************//
interface _LocalDataStoreSlot  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodAccessException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FF0BF77D-8F81-3D31-A3BB-6F54440FA7E5}
// *********************************************************************//
interface _MethodAccessException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MissingMemberException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8897D14B-7FB3-3D8B-9EE4-221C3DBAD6FE}
// *********************************************************************//
interface _MissingMemberException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MissingFieldException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9717176D-1179-3487-8849-CF5F63DE356E}
// *********************************************************************//
interface _MissingFieldException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MissingMethodException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E5C659F6-92C8-3887-A07E-74D0D9C6267A}
// *********************************************************************//
interface _MissingMethodException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MulticastNotSupportedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D2BA71CC-1B3D-3966-A0D7-C61E957AD325}
// *********************************************************************//
interface _MulticastNotSupportedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NonSerializedAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {665C9669-B9C6-3ADD-9213-099F0127C893}
// *********************************************************************//
interface _NonSerializedAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NotFiniteNumberException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8E21CE22-4F17-347B-B3B5-6A6DF3E0E58A}
// *********************************************************************//
interface _NotFiniteNumberException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NotImplementedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1E4D31A2-63EA-397A-A77E-B20AD87A9614}
// *********************************************************************//
interface _NotImplementedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NotSupportedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {40E5451F-B237-33F8-945B-0230DB700BBB}
// *********************************************************************//
interface _NotSupportedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NullReferenceException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {ECBE2313-CF41-34B4-9FD0-B6CD602B023F}
// *********************************************************************//
interface _NullReferenceException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObjectDisposedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {17B730BA-45EF-3DDF-9F8D-A490BAC731F4}
// *********************************************************************//
interface _ObjectDisposedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObsoleteAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E84307BE-3036-307A-ACC2-5D5DE8A006A8}
// *********************************************************************//
interface _ObsoleteAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OperatingSystem
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9E230640-A5D0-30E1-B217-9D2B6CC0FC40}
// *********************************************************************//
interface _OperatingSystem  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OperationCanceledException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9DF9AF5A-7853-3D55-9B48-BD1F5D8367AB}
// *********************************************************************//
interface _OperationCanceledException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OverflowException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {37C69A5D-7619-3A0F-A96B-9C9578AE00EF}
// *********************************************************************//
interface _OverflowException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ParamArrayAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D54500AE-8CF4-3092-9054-90DC91AC65C9}
// *********************************************************************//
interface _ParamArrayAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PlatformNotSupportedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1EB8340B-8190-3D9D-92F8-51244B9804C5}
// *********************************************************************//
interface _PlatformNotSupportedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Random
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0F240708-629A-31AB-94A5-2BB476FE1783}
// *********************************************************************//
interface _Random  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RankException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {871DDC46-B68E-3FEE-A09A-C808B0F827E6}
// *********************************************************************//
interface _RankException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICustomAttributeProvider
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {B9B91146-D6C2-3A62-8159-C2D1794CDEB0}
// *********************************************************************//
interface ICustomAttributeProvider  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPSAFEARRAY __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                             TOLEBOOL inherit/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                TOLEBOOL inherit/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MemberInfo
// Indicateurs : (256) OleAutomation
// GUID        : {F7102FA9-CABB-3A74-A6DA-B4567EF1B079}
// *********************************************************************//
interface _MemberInfo  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _Type
// Indicateurs : (256) OleAutomation
// GUID        : {BCA8B44D-AAD6-3A86-8AB7-03349F4F2DA2}
// *********************************************************************//
interface _Type  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Guid(TGUID* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Module(Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Assembly(Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_TypeHandle(Mscorlib_tlb::RuntimeTypeHandle* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_FullName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Namespace(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AssemblyQualifiedName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetArrayRank(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_BaseType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetConstructors(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                    LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetInterface(BSTR name/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                                 Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetInterfaces(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE FindInterfaces(Mscorlib_tlb::_TypeFilterPtr filter/*[in]*/, 
                                                   TVariantInParam filterCriteria/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetEvent(BSTR name/*[in]*/, 
                                             Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                             Mscorlib_tlb::_EventInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetEvents(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetEvents_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNestedTypes(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNestedType(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                  Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMember(BSTR name/*[in]*/, 
                                              Mscorlib_tlb::MemberTypes Type/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetDefaultMembers(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE FindMembers(Mscorlib_tlb::MemberTypes MemberType/*[in]*/, 
                                                Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                Mscorlib_tlb::_MemberFilterPtr filter/*[in]*/, 
                                                TVariantInParam filterCriteria/*[in]*/, 
                                                LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetElementType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsSubclassOf(Mscorlib_tlb::_TypePtr c/*[in]*/, 
                                                 TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsInstanceOfType(TVariantInParam o/*[in]*/, 
                                                     TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsAssignableFrom(Mscorlib_tlb::_TypePtr c/*[in]*/, 
                                                     TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetInterfaceMap(Mscorlib_tlb::_TypePtr interfaceType/*[in]*/, 
                                                    Mscorlib_tlb::InterfaceMapping* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod(BSTR name/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY types/*[in]*/, 
                                              LPSAFEARRAY modifiers/*[in]*/, 
                                              Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod_2(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                               LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetField(BSTR name/*[in]*/, 
                                             Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                             Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty_2(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                  Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                  Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                  LPSAFEARRAY types/*[in]*/, 
                                                  LPSAFEARRAY modifiers/*[in]*/, 
                                                  Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                  LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMember_2(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                               LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE InvokeMember(BSTR name/*[in]*/, 
                                                 Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                                 Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                 TVariantInParam Target/*[in]*/, 
                                                 LPSAFEARRAY args/*[in]*/, 
                                                 LPSAFEARRAY modifiers/*[in]*/, 
                                                 Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                 LPSAFEARRAY namedParameters/*[in]*/, 
                                                 TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_UnderlyingSystemType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE InvokeMember_2(BSTR name/*[in]*/, 
                                                   Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                   TVariantInParam Target/*[in]*/, 
                                                   LPSAFEARRAY args/*[in]*/, 
                                                   Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                   TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE InvokeMember_3(BSTR name/*[in]*/, 
                                                   Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                   TVariantInParam Target/*[in]*/, 
                                                   LPSAFEARRAY args/*[in]*/, 
                                                   TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetConstructor(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                   Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                                                   LPSAFEARRAY types/*[in]*/, 
                                                   LPSAFEARRAY modifiers/*[in]*/, 
                                                   Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetConstructor_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                     Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                     LPSAFEARRAY types/*[in]*/, 
                                                     LPSAFEARRAY modifiers/*[in]*/, 
                                                     Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetConstructor_3(LPSAFEARRAY types/*[in]*/, 
                                                     Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetConstructors_2(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_TypeInitializer(Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod_3(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                                                LPSAFEARRAY types/*[in]*/, 
                                                LPSAFEARRAY modifiers/*[in]*/, 
                                                Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod_4(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                                LPSAFEARRAY modifiers/*[in]*/, 
                                                Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                                Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod_6(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethods_2(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetField_2(BSTR name/*[in]*/, 
                                               Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetFields_2(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetInterface_2(BSTR name/*[in]*/, 
                                                   Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetEvent_2(BSTR name/*[in]*/, 
                                               Mscorlib_tlb::_EventInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty_3(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                  LPSAFEARRAY types/*[in]*/, 
                                                  LPSAFEARRAY modifiers/*[in]*/, 
                                                  Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty_4(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                  LPSAFEARRAY types/*[in]*/, 
                                                  Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                                  Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty_6(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                  Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty_7(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperties_2(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNestedTypes_2(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNestedType_2(BSTR name/*[in]*/, 
                                                    Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMember_3(BSTR name/*[in]*/, 
                                                LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMembers_2(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(Mscorlib_tlb::TypeAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNotPublic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNestedPublic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNestedPrivate(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNestedFamily(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNestedAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNestedFamANDAssem(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNestedFamORAssem(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAutoLayout(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsLayoutSequential(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsExplicitLayout(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsClass(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsInterface(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsValueType(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSealed(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsEnum(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsImport(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSerializable(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAnsiClass(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsUnicodeClass(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAutoClass(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsArray(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsByRef(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPointer(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPrimitive(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsCOMObject(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_HasElementType(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsContextful(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsMarshalByRef(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Equals_2(Mscorlib_tlb::_TypePtr o/*[in]*/, 
                                             TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : IReflect
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {AFBF15E5-C37C-11D2-B88E-00A0C9B471B8}
// *********************************************************************//
interface IReflect  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetMethod(BSTR name/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY types/*[in]*/, 
                                              LPSAFEARRAY modifiers/*[in]*/, 
                                              Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod_2(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                               LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetField(BSTR name/*[in]*/, 
                                             Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                             Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperty_2(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                  Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                  Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                  LPSAFEARRAY types/*[in]*/, 
                                                  LPSAFEARRAY modifiers/*[in]*/, 
                                                  Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                  LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMember(BSTR name/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                               LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE InvokeMember(BSTR name/*[in]*/, 
                                                 Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                                 Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                 TVariantInParam Target/*[in]*/, 
                                                 LPSAFEARRAY args/*[in]*/, 
                                                 LPSAFEARRAY modifiers/*[in]*/, 
                                                 Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                 LPSAFEARRAY namedParameters/*[in]*/, 
                                                 TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_UnderlyingSystemType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod(BSTR name/*[in]*/, 
                                                    Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                    Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                    LPSAFEARRAY types/*[in]*/, 
                                                    LPSAFEARRAY modifiers/*[in]*/)
  {
    Mscorlib_tlb::_MethodInfoPtr pRetVal;
    OLECHECK(this->GetMethod(name, bindingAttr, Binder, types, modifiers, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod_2(BSTR name/*[in]*/, 
                                                      Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    Mscorlib_tlb::_MethodInfoPtr pRetVal;
    OLECHECK(this->GetMethod_2(name, bindingAttr, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetMethods(bindingAttr, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_FieldInfoPtr __fastcall GetField(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    Mscorlib_tlb::_FieldInfoPtr pRetVal;
    OLECHECK(this->GetField(name, bindingAttr, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetFields(bindingAttr, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty(BSTR name/*[in]*/, 
                                                        Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    Mscorlib_tlb::_PropertyInfoPtr pRetVal;
    OLECHECK(this->GetProperty(name, bindingAttr, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_2(BSTR name/*[in]*/, 
                                                          Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                          Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                          Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                          LPSAFEARRAY types/*[in]*/, 
                                                          LPSAFEARRAY modifiers/*[in]*/)
  {
    Mscorlib_tlb::_PropertyInfoPtr pRetVal;
    OLECHECK(this->GetProperty_2(name, bindingAttr, Binder, returnType, types, modifiers, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetProperties(bindingAttr, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetMember(name, bindingAttr, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetMembers(bindingAttr, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall InvokeMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                   TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                   LPSAFEARRAY modifiers/*[in]*/, 
                                   Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                   LPSAFEARRAY namedParameters/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->InvokeMember(name, invokeAttr, Binder, Target, args, modifiers, culture, 
                                namedParameters, (TVariant*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall get_UnderlyingSystemType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->get_UnderlyingSystemType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::_TypePtr UnderlyingSystemType = {read = get_UnderlyingSystemType};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SerializableAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1B96E53C-4028-38BC-9DC3-8D7A9555C311}
// *********************************************************************//
interface _SerializableAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TimeoutException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7AB88CA9-17F4-385E-AD41-4EE0AA316FA1}
// *********************************************************************//
interface _TimeoutException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeInitializationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FEB0323D-8CE4-36A4-A41E-0BA0C32E1A6A}
// *********************************************************************//
interface _TypeInitializationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnauthorizedAccessException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6193C5F6-6807-3561-A7F3-B64C80B5F00F}
// *********************************************************************//
interface _UnauthorizedAccessException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnhandledExceptionEventArgs
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A218E20A-0905-3741-B0B3-9E3193162E50}
// *********************************************************************//
interface _UnhandledExceptionEventArgs  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnhandledExceptionEventHandler
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {84199E64-439C-3011-B249-3C9065735ADB}
// *********************************************************************//
interface _UnhandledExceptionEventHandler  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Version
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {011A90C5-4910-3C29-BBB7-50D05CCBAA4A}
// *********************************************************************//
interface _Version  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WeakReference
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C5DF3568-C251-3C58-AFB4-32E79E8261F0}
// *********************************************************************//
interface _WeakReference  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WaitHandle
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {40DFC50A-E93A-3C08-B9EF-E2B4F28B5676}
// *********************************************************************//
interface _WaitHandle  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EventWaitHandle
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E142DB4A-1A52-34CE-965E-13AFFD5447D0}
// *********************************************************************//
interface _EventWaitHandle  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AutoResetEvent
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3F243EBD-612F-3DB8-9E03-BD92343A8371}
// *********************************************************************//
interface _AutoResetEvent  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ContextCallback
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {56D201F1-3E5D-39D9-B5DE-064710818905}
// *********************************************************************//
interface _ContextCallback  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IObjectHandle
// Indicateurs : (256) OleAutomation
// GUID        : {C460E2B4-E199-412A-8456-84DC3E4838C3}
// *********************************************************************//
interface IObjectHandle  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE Unwrap(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ManualResetEvent
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C0BB9361-268F-3E72-BF6F-4120175A1500}
// *********************************************************************//
interface _ManualResetEvent  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Monitor
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EE22485E-4C45-3C9D-9027-A8D61C5F53F2}
// *********************************************************************//
interface _Monitor  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Mutex
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {36CB559B-87C6-3AD2-9225-62A7ED499B37}
// *********************************************************************//
interface _Mutex  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Overlapped
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DD846FCC-8D04-3665-81B6-AACBE99C19C3}
// *********************************************************************//
interface _Overlapped  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ReaderWriterLock
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AD89B568-4FD4-3F8D-8327-B396B20A460E}
// *********************************************************************//
interface _ReaderWriterLock  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SynchronizationLockException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {87F55344-17E0-30FD-8EB9-38EAF6A19B3F}
// *********************************************************************//
interface _SynchronizationLockException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ThreadAbortException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {95B525DB-6B81-3CDC-8FE7-713F7FC793C0}
// *********************************************************************//
interface _ThreadAbortException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ThreadInterruptedException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B9E07599-7C44-33BE-A70E-EFA16F51F54A}
// *********************************************************************//
interface _ThreadInterruptedException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RegisteredWaitHandle
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {64409425-F8C9-370E-809E-3241CE804541}
// *********************************************************************//
interface _RegisteredWaitHandle  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WaitCallback
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CE949142-4D4C-358D-89A9-E69A531AA363}
// *********************************************************************//
interface _WaitCallback  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WaitOrTimerCallback
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F078F795-F452-3D2D-8CC8-16D66AE46C67}
// *********************************************************************//
interface _WaitOrTimerCallback  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IOCompletionCallback
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BBAE942D-BFF4-36E2-A3BC-508BB3801F4F}
// *********************************************************************//
interface _IOCompletionCallback  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ThreadStart
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B45BBD7E-A977-3F56-A626-7A693E5DBBC5}
// *********************************************************************//
interface _ThreadStart  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ThreadStateException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A13A41CF-E066-3B90-82F4-73109104E348}
// *********************************************************************//
interface _ThreadStateException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ThreadStaticAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A6B94B6D-854E-3172-A4EC-A17EDD16F85E}
// *********************************************************************//
interface _ThreadStaticAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Timeout
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {81456E86-22AF-31D1-A91A-9C370C0E2530}
// *********************************************************************//
interface _Timeout  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TimerCallback
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3741BC6F-101B-36D7-A9D5-03FCC0ECDA35}
// *********************************************************************//
interface _TimerCallback  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Timer
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B49A029B-406B-3B1E-88E4-F86690D20364}
// *********************************************************************//
interface _Timer  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _STAThreadAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {85D72F83-BE91-3CB1-B4F0-76B56FF04033}
// *********************************************************************//
interface _STAThreadAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MTAThreadAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C02468D1-8713-3225-BDA3-49B2FE37DDBB}
// *********************************************************************//
interface _MTAThreadAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ArrayList
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {401F89CB-C127-3041-82FD-B67035395C56}
// *********************************************************************//
interface _ArrayList  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BitArray
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F145C46A-D170-3170-B52F-4678DFCA0300}
// *********************************************************************//
interface _BitArray  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CaseInsensitiveComparer
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EA6795AC-97D6-3377-BE64-829ABD67607B}
// *********************************************************************//
interface _CaseInsensitiveComparer  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IHashCodeProvider
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {5D573036-3435-3C5A-AEFF-2B8191082C71}
// *********************************************************************//
interface IHashCodeProvider  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(TVariantInParam obj/*[in]*/, 
                                                long* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall GetHashCode(TVariantInParam obj/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode(obj, (long*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CaseInsensitiveHashCodeProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0422B845-B636-3688-8F61-9B6D93096336}
// *********************************************************************//
interface _CaseInsensitiveHashCodeProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CollectionBase
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B7D29E26-7798-3FA4-90F4-E6A22D2099F9}
// *********************************************************************//
interface _CollectionBase  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Comparer
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8064A157-B5C8-3A4A-AD3D-02DC1A39C417}
// *********************************************************************//
interface _Comparer  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IDictionary
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {6A6841DF-3287-3D87-8060-CE0B4C77D2A1}
// *********************************************************************//
interface IDictionary  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Item(TVariantInParam key/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE _set_Item(TVariantInParam key/*[in]*/, 
                                              TVariantInParam pRetVal/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Keys(Mscorlib_tlb::ICollectionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Values(Mscorlib_tlb::ICollectionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Contains(TVariantInParam key/*[in]*/, 
                                             TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Add(TVariantInParam key/*[in]*/, TVariantInParam value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFixedSize(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetEnumerator(Mscorlib_tlb::IDictionaryEnumeratorPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Remove(TVariantInParam key/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall get_Item(TVariantInParam key/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->get_Item(key, (TVariant*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ICollectionPtr __fastcall get_Keys(void)
  {
    Mscorlib_tlb::ICollectionPtr pRetVal;
    OLECHECK(this->get_Keys((Mscorlib_tlb::ICollectionPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ICollectionPtr __fastcall get_Values(void)
  {
    Mscorlib_tlb::ICollectionPtr pRetVal;
    OLECHECK(this->get_Values((Mscorlib_tlb::ICollectionPtr*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Contains(TVariantInParam key/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Contains(key, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_IsReadOnly(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_IsReadOnly((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_IsFixedSize(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_IsFixedSize((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IDictionaryEnumeratorPtr __fastcall GetEnumerator(void)
  {
    Mscorlib_tlb::IDictionaryEnumeratorPtr pRetVal;
    OLECHECK(this->GetEnumerator((Mscorlib_tlb::IDictionaryEnumeratorPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::ICollectionPtr Keys = {read = get_Keys};
  __property   Mscorlib_tlb::ICollectionPtr Values = {read = get_Values};
  __property   TOLEBOOL        IsReadOnly = {read = get_IsReadOnly};
  __property   TOLEBOOL        IsFixedSize = {read = get_IsFixedSize};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DictionaryBase
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DDD44DA2-BC6B-3620-9317-C0372968C741}
// *********************************************************************//
interface _DictionaryBase  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IDictionaryEnumerator
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {35D574BF-7A4F-3588-8C19-12212A0FE4DC}
// *********************************************************************//
interface IDictionaryEnumerator  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_key(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_value(TVariant* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE get_Entry(Mscorlib_tlb::DictionaryEntry* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall get_key(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_key((TVariant*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_value(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_value((TVariant*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::DictionaryEntry __fastcall get_Entry(void)
  {
    Mscorlib_tlb::DictionaryEntry pRetVal;
    OLECHECK(this->get_Entry((Mscorlib_tlb::DictionaryEntry*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::DictionaryEntry Entry = {read = get_Entry};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IDeserializationCallback
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {AB3F47E4-C227-3B05-BF9F-94649BEF9888}
// *********************************************************************//
interface IDeserializationCallback  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE OnDeserialization(TVariantInParam sender/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Hashtable
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D25A197E-3E69-3271-A989-23D85E97F920}
// *********************************************************************//
interface _Hashtable  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Queue
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3A7D3CA4-B7D1-3A2A-800C-8FC2ACFCBDA4}
// *********************************************************************//
interface _Queue  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ReadOnlyCollectionBase
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BD32D878-A59B-3E5C-BFE0-A96B1A1E9D6F}
// *********************************************************************//
interface _ReadOnlyCollectionBase  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SortedList
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {56421139-A143-3AE9-9852-1DBDFE3D6BFA}
// *********************************************************************//
interface _SortedList  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Stack
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AB538809-3C2F-35D9-80E6-7BAD540484A1}
// *********************************************************************//
interface _Stack  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Nullable
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {84E7AC09-795A-3EA9-A36A-5B81EBAB0558}
// *********************************************************************//
interface _Nullable  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeyNotFoundException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8039C41F-4399-38A2-99B7-D234B5CF7A7B}
// *********************************************************************//
interface _KeyNotFoundException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ConditionalAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E40A025C-645B-3C8E-A1AC-9C5CCA279625}
// *********************************************************************//
interface _ConditionalAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Debugger
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A9B4786C-08E3-344F-A651-2F9926DEAC5E}
// *********************************************************************//
interface _Debugger  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerStepThroughAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3344E8B4-A5C3-3882-8D30-63792485ECCF}
// *********************************************************************//
interface _DebuggerStepThroughAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerStepperBoundaryAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B3276180-B23E-3034-B18F-E0122BA4E4CF}
// *********************************************************************//
interface _DebuggerStepperBoundaryAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerHiddenAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {55B6903B-55FE-35E0-804F-E42A096D2EB0}
// *********************************************************************//
interface _DebuggerHiddenAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerNonUserCodeAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CC6DCAFD-0185-308A-891C-83812FE574E7}
// *********************************************************************//
interface _DebuggerNonUserCodeAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggableAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {428E3627-2B1F-302C-A7E6-6388CD535E75}
// *********************************************************************//
interface _DebuggableAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerBrowsableAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A3FC6319-7355-3D7D-8621-B598561152FC}
// *********************************************************************//
interface _DebuggerBrowsableAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerTypeProxyAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {404FAFDD-1E3F-3602-BFF6-755C00613ED8}
// *********************************************************************//
interface _DebuggerTypeProxyAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerDisplayAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {22FDABC0-EEC7-33E0-B4F2-F3B739E19A5E}
// *********************************************************************//
interface _DebuggerDisplayAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DebuggerVisualizerAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E19EA1A2-67FF-31A5-B95C-E0B753403F6B}
// *********************************************************************//
interface _DebuggerVisualizerAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StackTrace
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9A2669EC-FF84-3726-89A0-663A3EF3B5CD}
// *********************************************************************//
interface _StackTrace  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StackFrame
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0E9B8E47-CA67-38B6-B9DB-2C42EE757B08}
// *********************************************************************//
interface _StackFrame  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolBinder
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {20808ADC-CC01-3F3A-8F09-ED12940FC212}
// *********************************************************************//
interface ISymbolBinder  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                              BSTR searchPath/*[in]*/, 
                                              Mscorlib_tlb::ISymbolReaderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::ISymbolReaderPtr __fastcall GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                                      BSTR searchPath/*[in]*/)
  {
    Mscorlib_tlb::ISymbolReaderPtr pRetVal;
    OLECHECK(this->GetReader(importer, filename, searchPath, (Mscorlib_tlb::ISymbolReaderPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolBinder1
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {027C036A-4052-3821-85DE-B53319DF1211}
// *********************************************************************//
interface ISymbolBinder1  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                              BSTR searchPath/*[in]*/, 
                                              Mscorlib_tlb::ISymbolReaderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::ISymbolReaderPtr __fastcall GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                                      BSTR searchPath/*[in]*/)
  {
    Mscorlib_tlb::ISymbolReaderPtr pRetVal;
    OLECHECK(this->GetReader(importer, filename, searchPath, (Mscorlib_tlb::ISymbolReaderPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolDocument
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {1C32F012-2684-3EFE-8D50-9C2973ACC00B}
// *********************************************************************//
interface ISymbolDocument  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Url(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DocumentType(TGUID* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Language(TGUID* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_LanguageVendor(TGUID* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CheckSumAlgorithmId(TGUID* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCheckSum(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE FindClosestLine(long line/*[in]*/, long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_HasEmbeddedSource(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_SourceLength(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSourceRange(long startLine/*[in]*/, long startColumn/*[in]*/, 
                                                   long endLine/*[in]*/, long endColumn/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Url(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_Url((BSTR*)&pRetVal));
    return pRetVal;
  }

  TGUID __fastcall get_DocumentType(void)
  {
    TGUID pRetVal;
    OLECHECK(this->get_DocumentType((TGUID*)&pRetVal));
    return pRetVal;
  }

  TGUID __fastcall get_Language(void)
  {
    TGUID pRetVal;
    OLECHECK(this->get_Language((TGUID*)&pRetVal));
    return pRetVal;
  }

  TGUID __fastcall get_LanguageVendor(void)
  {
    TGUID pRetVal;
    OLECHECK(this->get_LanguageVendor((TGUID*)&pRetVal));
    return pRetVal;
  }

  TGUID __fastcall get_CheckSumAlgorithmId(void)
  {
    TGUID pRetVal;
    OLECHECK(this->get_CheckSumAlgorithmId((TGUID*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetCheckSum(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetCheckSum((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  long __fastcall FindClosestLine(long line/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->FindClosestLine(line, (long*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_HasEmbeddedSource(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_HasEmbeddedSource((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_SourceLength(void)
  {
    long pRetVal;
    OLECHECK(this->get_SourceLength((long*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetSourceRange(long startLine/*[in]*/, long startColumn/*[in]*/, 
                                        long endLine/*[in]*/, long endColumn/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetSourceRange(startLine, startColumn, endLine, endColumn, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            Url = {read = get_Url};
  __property   TGUID           DocumentType = {read = get_DocumentType};
  __property   TGUID           Language = {read = get_Language};
  __property   TGUID           LanguageVendor = {read = get_LanguageVendor};
  __property   TGUID           CheckSumAlgorithmId = {read = get_CheckSumAlgorithmId};
  __property   TOLEBOOL        HasEmbeddedSource = {read = get_HasEmbeddedSource};
  __property   long            SourceLength = {read = get_SourceLength};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolDocumentWriter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {FA682F24-3A3C-390D-B8A2-96F1106F4B37}
// *********************************************************************//
interface ISymbolDocumentWriter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE SetSource(LPSAFEARRAY Source/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetCheckSum(TGUID algorithmId/*[in]*/, 
                                                LPSAFEARRAY checkSum/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolMethod
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {25C72EB0-E437-3F17-946D-3B72A3ACFF37}
// *********************************************************************//
interface ISymbolMethod  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Token(Mscorlib_tlb::SymbolToken* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_SequencePointCount(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSequencePoints(LPSAFEARRAY offsets/*[in]*/, 
                                                      LPSAFEARRAY documents/*[in]*/, 
                                                      LPSAFEARRAY lines/*[in]*/, 
                                                      LPSAFEARRAY columns/*[in]*/, 
                                                      LPSAFEARRAY endLines/*[in]*/, 
                                                      LPSAFEARRAY endColumns/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_RootScope(Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetScope(long offset/*[in]*/, 
                                             Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetOffset(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                              long line/*[in]*/, long column/*[in]*/, 
                                              long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetRanges(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                              long line/*[in]*/, long column/*[in]*/, 
                                              LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNamespace(Mscorlib_tlb::ISymbolNamespacePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSourceStartEnd(LPSAFEARRAY docs/*[in]*/, 
                                                      LPSAFEARRAY lines/*[in]*/, 
                                                      LPSAFEARRAY columns/*[in]*/, 
                                                      TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::SymbolToken __fastcall get_Token(void)
  {
    Mscorlib_tlb::SymbolToken pRetVal;
    OLECHECK(this->get_Token((Mscorlib_tlb::SymbolToken*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_SequencePointCount(void)
  {
    long pRetVal;
    OLECHECK(this->get_SequencePointCount((long*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISymbolScopePtr __fastcall get_RootScope(void)
  {
    Mscorlib_tlb::ISymbolScopePtr pRetVal;
    OLECHECK(this->get_RootScope((Mscorlib_tlb::ISymbolScopePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISymbolScopePtr __fastcall GetScope(long offset/*[in]*/)
  {
    Mscorlib_tlb::ISymbolScopePtr pRetVal;
    OLECHECK(this->GetScope(offset, (Mscorlib_tlb::ISymbolScopePtr*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetOffset(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, long line/*[in]*/, 
                            long column/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->GetOffset(document, line, column, (long*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetRanges(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                   long line/*[in]*/, long column/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetRanges(document, line, column, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetParameters(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetParameters((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISymbolNamespacePtr __fastcall GetNamespace(void)
  {
    Mscorlib_tlb::ISymbolNamespacePtr pRetVal;
    OLECHECK(this->GetNamespace((Mscorlib_tlb::ISymbolNamespacePtr*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall GetSourceStartEnd(LPSAFEARRAY docs/*[in]*/, LPSAFEARRAY lines/*[in]*/, 
                                        LPSAFEARRAY columns/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->GetSourceStartEnd(docs, lines, columns, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::SymbolToken Token = {read = get_Token};
  __property   long            SequencePointCount = {read = get_SequencePointCount};
  __property   Mscorlib_tlb::ISymbolScopePtr RootScope = {read = get_RootScope};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolNamespace
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {23ED2454-6899-3C28-BAB7-6EC86683964A}
// *********************************************************************//
interface ISymbolNamespace  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetVariables(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_name(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_name((BSTR*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetNamespaces(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetNamespaces((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetVariables(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetVariables((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            name = {read = get_name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolReader
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {E809A5F1-D3D7-3144-9BEF-FE8AC0364699}
// *********************************************************************//
interface ISymbolReader  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetDocument(BSTR Url/*[in]*/, TGUID Language/*[in]*/, 
                                                TGUID LanguageVendor/*[in]*/, 
                                                TGUID DocumentType/*[in]*/, 
                                                Mscorlib_tlb::ISymbolDocumentPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetDocuments(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_UserEntryPoint(Mscorlib_tlb::SymbolToken* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod(Mscorlib_tlb::SymbolToken Method/*[in]*/, 
                                              Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethod_2(Mscorlib_tlb::SymbolToken Method/*[in]*/, 
                                                long Version/*[in]*/, 
                                                Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetVariables(Mscorlib_tlb::SymbolToken parent/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetGlobalVariables(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethodFromDocumentPosition(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                                                  long line/*[in]*/, 
                                                                  long column/*[in]*/, 
                                                                  Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSymAttribute(Mscorlib_tlb::SymbolToken parent/*[in]*/, 
                                                    BSTR name/*[in]*/, 
                                                    LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::ISymbolDocumentPtr __fastcall GetDocument(BSTR Url/*[in]*/, TGUID Language/*[in]*/, 
                                                          TGUID LanguageVendor/*[in]*/, 
                                                          TGUID DocumentType/*[in]*/)
  {
    Mscorlib_tlb::ISymbolDocumentPtr pRetVal;
    OLECHECK(this->GetDocument(Url, Language, LanguageVendor, DocumentType, (Mscorlib_tlb::ISymbolDocumentPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetDocuments(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetDocuments((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::SymbolToken __fastcall get_UserEntryPoint(void)
  {
    Mscorlib_tlb::SymbolToken pRetVal;
    OLECHECK(this->get_UserEntryPoint((Mscorlib_tlb::SymbolToken*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISymbolMethodPtr __fastcall GetMethod(Mscorlib_tlb::SymbolToken Method/*[in]*/)
  {
    Mscorlib_tlb::ISymbolMethodPtr pRetVal;
    OLECHECK(this->GetMethod(Method, (Mscorlib_tlb::ISymbolMethodPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISymbolMethodPtr __fastcall GetMethod_2(Mscorlib_tlb::SymbolToken Method/*[in]*/, 
                                                        long Version/*[in]*/)
  {
    Mscorlib_tlb::ISymbolMethodPtr pRetVal;
    OLECHECK(this->GetMethod_2(Method, Version, (Mscorlib_tlb::ISymbolMethodPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetVariables(Mscorlib_tlb::SymbolToken parent/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetVariables(parent, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetGlobalVariables(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetGlobalVariables((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISymbolMethodPtr __fastcall GetMethodFromDocumentPosition(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                                                          long line/*[in]*/, 
                                                                          long column/*[in]*/)
  {
    Mscorlib_tlb::ISymbolMethodPtr pRetVal;
    OLECHECK(this->GetMethodFromDocumentPosition(document, line, column, (Mscorlib_tlb::ISymbolMethodPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetSymAttribute(Mscorlib_tlb::SymbolToken parent/*[in]*/, BSTR name/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetSymAttribute(parent, name, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetNamespaces(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetNamespaces((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::SymbolToken UserEntryPoint = {read = get_UserEntryPoint};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolScope
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {1CEE3A11-01AE-3244-A939-4972FC9703EF}
// *********************************************************************//
interface ISymbolScope  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Method(Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_parent(Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetChildren(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_StartOffset(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_EndOffset(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetLocals(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::ISymbolMethodPtr __fastcall get_Method(void)
  {
    Mscorlib_tlb::ISymbolMethodPtr pRetVal;
    OLECHECK(this->get_Method((Mscorlib_tlb::ISymbolMethodPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISymbolScopePtr __fastcall get_parent(void)
  {
    Mscorlib_tlb::ISymbolScopePtr pRetVal;
    OLECHECK(this->get_parent((Mscorlib_tlb::ISymbolScopePtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetChildren(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetChildren((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_StartOffset(void)
  {
    long pRetVal;
    OLECHECK(this->get_StartOffset((long*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_EndOffset(void)
  {
    long pRetVal;
    OLECHECK(this->get_EndOffset((long*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetLocals(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetLocals((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetNamespaces(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetNamespaces((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::ISymbolMethodPtr Method = {read = get_Method};
  __property   Mscorlib_tlb::ISymbolScopePtr parent = {read = get_parent};
  __property   long            StartOffset = {read = get_StartOffset};
  __property   long            EndOffset = {read = get_EndOffset};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolVariable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {4042BD4D-B5AB-30E8-919B-14910687BAAE}
// *********************************************************************//
interface ISymbolVariable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSignature(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AddressKind(Mscorlib_tlb::SymAddressKind* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AddressField1(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AddressField2(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AddressField3(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_StartOffset(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_EndOffset(long* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_name(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_name((BSTR*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_Attributes(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_Attributes((TVariant*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetSignature(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetSignature((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::SymAddressKind __fastcall get_AddressKind(void)
  {
    Mscorlib_tlb::SymAddressKind pRetVal;
    OLECHECK(this->get_AddressKind((Mscorlib_tlb::SymAddressKind*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_AddressField1(void)
  {
    long pRetVal;
    OLECHECK(this->get_AddressField1((long*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_AddressField2(void)
  {
    long pRetVal;
    OLECHECK(this->get_AddressField2((long*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_AddressField3(void)
  {
    long pRetVal;
    OLECHECK(this->get_AddressField3((long*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_StartOffset(void)
  {
    long pRetVal;
    OLECHECK(this->get_StartOffset((long*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_EndOffset(void)
  {
    long pRetVal;
    OLECHECK(this->get_EndOffset((long*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::SymAddressKind AddressKind = {read = get_AddressKind};
  __property   long            AddressField1 = {read = get_AddressField1};
  __property   long            AddressField2 = {read = get_AddressField2};
  __property   long            AddressField3 = {read = get_AddressField3};
  __property   long            StartOffset = {read = get_StartOffset};
  __property   long            EndOffset = {read = get_EndOffset};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISymbolWriter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {DA295A1B-C5BD-3B34-8ACD-1D7D334FFB7F}
// *********************************************************************//
interface ISymbolWriter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Initialize(long emitter/*[in]*/, BSTR filename/*[in]*/, 
                                               TOLEBOOL fFullBuild/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineDocument(BSTR Url/*[in]*/, TGUID Language/*[in]*/, 
                                                   TGUID LanguageVendor/*[in]*/, 
                                                   TGUID DocumentType/*[in]*/, 
                                                   Mscorlib_tlb::ISymbolDocumentWriterPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetUserEntryPoint(Mscorlib_tlb::SymbolToken entryMethod/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE OpenMethod(Mscorlib_tlb::SymbolToken Method/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CloseMethod(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineSequencePoints(Mscorlib_tlb::ISymbolDocumentWriterPtr document/*[in]*/, 
                                                         LPSAFEARRAY offsets/*[in]*/, 
                                                         LPSAFEARRAY lines/*[in]*/, 
                                                         LPSAFEARRAY columns/*[in]*/, 
                                                         LPSAFEARRAY endLines/*[in]*/, 
                                                         LPSAFEARRAY endColumns/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE OpenScope(long StartOffset/*[in]*/, 
                                              long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CloseScope(long EndOffset/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetScopeRange(long scopeID/*[in]*/, long StartOffset/*[in]*/, 
                                                  long EndOffset/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineLocalVariable(BSTR name/*[in]*/, 
                                                        Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                                        LPSAFEARRAY signature/*[in]*/, 
                                                        Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                                        long addr1/*[in]*/, long addr2/*[in]*/, 
                                                        long addr3/*[in]*/, long StartOffset/*[in]*/, 
                                                        long EndOffset/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineParameter(BSTR name/*[in]*/, 
                                                    Mscorlib_tlb::ParameterAttributes Attributes/*[in]*/, 
                                                    long sequence/*[in]*/, 
                                                    Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                                    long addr1/*[in]*/, long addr2/*[in]*/, 
                                                    long addr3/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineField(Mscorlib_tlb::SymbolToken parent/*[in]*/, 
                                                BSTR name/*[in]*/, 
                                                Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                                LPSAFEARRAY signature/*[in]*/, 
                                                Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                                long addr1/*[in]*/, long addr2/*[in]*/, 
                                                long addr3/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DefineGlobalVariable(BSTR name/*[in]*/, 
                                                         Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                                         LPSAFEARRAY signature/*[in]*/, 
                                                         Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                                         long addr1/*[in]*/, long addr2/*[in]*/, 
                                                         long addr3/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Close(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetSymAttribute(Mscorlib_tlb::SymbolToken parent/*[in]*/, 
                                                    BSTR name/*[in]*/, LPSAFEARRAY data/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE OpenNamespace(BSTR name/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CloseNamespace(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE UsingNamespace(BSTR FullName/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetMethodSourceRange(Mscorlib_tlb::ISymbolDocumentWriterPtr startDoc/*[in]*/, 
                                                         long startLine/*[in]*/, 
                                                         long startColumn/*[in]*/, 
                                                         Mscorlib_tlb::ISymbolDocumentWriterPtr endDoc/*[in]*/, 
                                                         long endLine/*[in]*/, 
                                                         long endColumn/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetUnderlyingWriter(long underlyingWriter/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::ISymbolDocumentWriterPtr __fastcall DefineDocument(BSTR Url/*[in]*/, 
                                                                   TGUID Language/*[in]*/, 
                                                                   TGUID LanguageVendor/*[in]*/, 
                                                                   TGUID DocumentType/*[in]*/)
  {
    Mscorlib_tlb::ISymbolDocumentWriterPtr pRetVal;
    OLECHECK(this->DefineDocument(Url, Language, LanguageVendor, DocumentType, (Mscorlib_tlb::ISymbolDocumentWriterPtr*)&pRetVal));
    return pRetVal;
  }

  long __fastcall OpenScope(long StartOffset/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->OpenScope(StartOffset, (long*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SymDocumentType
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5141D79C-7B01-37DA-B7E9-53E5A271BAF8}
// *********************************************************************//
interface _SymDocumentType  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SymLanguageType
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {22BB8891-FD21-313D-92E4-8A892DC0B39C}
// *********************************************************************//
interface _SymLanguageType  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SymLanguageVendor
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {01364E7B-C983-3651-B7D8-FD1B64FC0E00}
// *********************************************************************//
interface _SymLanguageVendor  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AmbiguousMatchException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {81AA0D59-C3B1-36A3-B2E7-054928FBFC1A}
// *********************************************************************//
interface _AmbiguousMatchException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ModuleResolveEventHandler
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {05532E88-E0F2-3263-9B57-805AC6B6BB72}
// *********************************************************************//
interface _ModuleResolveEventHandler  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Assembly
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {17156360-2F1A-384A-BC52-FDE93C215C5B}
// *********************************************************************//
interface _Assembly  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CodeBase(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_EscapedCodeBase(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetName(Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetName_2(TOLEBOOL copiedName/*[in]*/, 
                                              Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_FullName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_EntryPoint(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType_2(BSTR name/*[in]*/, 
                                              Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                              Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetExportedTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                              BSTR name/*[in]*/, 
                                                              Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetManifestResourceStream_2(BSTR name/*[in]*/, 
                                                                Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetFile(BSTR name/*[in]*/, 
                                            Mscorlib_tlb::_FileStreamPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetFiles(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetFiles_2(TOLEBOOL getResourceModules/*[in]*/, 
                                               LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetManifestResourceNames(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetManifestResourceInfo(BSTR resourceName/*[in]*/, 
                                                            Mscorlib_tlb::_ManifestResourceInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Location(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                                  Mscorlib_tlb::StreamingContext Context/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE add_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE remove_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                              TOLEBOOL ignoreCase/*[in]*/, 
                                              Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                         Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                           Mscorlib_tlb::_VersionPtr Version/*[in]*/, 
                                                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE LoadModule(BSTR moduleName/*[in]*/, 
                                               LPSAFEARRAY rawModule/*[in]*/, 
                                               Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE LoadModule_2(BSTR moduleName/*[in]*/, 
                                                 LPSAFEARRAY rawModule/*[in]*/, 
                                                 LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                                 Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstance(BSTR typeName/*[in]*/, 
                                                   TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstance_2(BSTR typeName/*[in]*/, 
                                                     TOLEBOOL ignoreCase/*[in]*/, 
                                                     TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateInstance_3(BSTR typeName/*[in]*/, 
                                                     TOLEBOOL ignoreCase/*[in]*/, 
                                                     Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                     Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                     LPSAFEARRAY args/*[in]*/, 
                                                     Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                     LPSAFEARRAY activationAttributes/*[in]*/, 
                                                     TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetLoadedModules(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                                       LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetModules(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetModule(BSTR name/*[in]*/, 
                                              Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetReferencedAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_GlobalAssemblyCache(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ToString(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Equals(TVariantInParam other/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetHashCode(void)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode((long*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_CodeBase(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_CodeBase((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_EscapedCodeBase(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_EscapedCodeBase((BSTR*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_AssemblyNamePtr __fastcall GetName(void)
  {
    Mscorlib_tlb::_AssemblyNamePtr pRetVal;
    OLECHECK(this->GetName((Mscorlib_tlb::_AssemblyNamePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_AssemblyNamePtr __fastcall GetName_2(TOLEBOOL copiedName/*[in]*/)
  {
    Mscorlib_tlb::_AssemblyNamePtr pRetVal;
    OLECHECK(this->GetName_2(copiedName, (Mscorlib_tlb::_AssemblyNamePtr*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_FullName(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_FullName((BSTR*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodInfoPtr __fastcall get_EntryPoint(void)
  {
    Mscorlib_tlb::_MethodInfoPtr pRetVal;
    OLECHECK(this->get_EntryPoint((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType_2(BSTR name/*[in]*/)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType_2(name, (Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType_3(name, throwOnError, (Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetExportedTypes(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetExportedTypes((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetTypes(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetTypes((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_StreamPtr __fastcall GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                                BSTR name/*[in]*/)
  {
    Mscorlib_tlb::_StreamPtr pRetVal;
    OLECHECK(this->GetManifestResourceStream(Type, name, (Mscorlib_tlb::_StreamPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_StreamPtr __fastcall GetManifestResourceStream_2(BSTR name/*[in]*/)
  {
    Mscorlib_tlb::_StreamPtr pRetVal;
    OLECHECK(this->GetManifestResourceStream_2(name, (Mscorlib_tlb::_StreamPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_FileStreamPtr __fastcall GetFile(BSTR name/*[in]*/)
  {
    Mscorlib_tlb::_FileStreamPtr pRetVal;
    OLECHECK(this->GetFile(name, (Mscorlib_tlb::_FileStreamPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetFiles(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetFiles((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetFiles_2(TOLEBOOL getResourceModules/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetFiles_2(getResourceModules, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetManifestResourceNames(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetManifestResourceNames((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ManifestResourceInfoPtr __fastcall GetManifestResourceInfo(BSTR resourceName/*[in]*/)
  {
    Mscorlib_tlb::_ManifestResourceInfoPtr pRetVal;
    OLECHECK(this->GetManifestResourceInfo(resourceName, (Mscorlib_tlb::_ManifestResourceInfoPtr*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_Location(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_Location((BSTR*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_EvidencePtr __fastcall get_Evidence(void)
  {
    Mscorlib_tlb::_EvidencePtr pRetVal;
    OLECHECK(this->get_Evidence((Mscorlib_tlb::_EvidencePtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                             TOLEBOOL inherit/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                TOLEBOOL inherit/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                              TOLEBOOL ignoreCase/*[in]*/)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType_4(name, throwOnError, ignoreCase, (Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_AssemblyPtr __fastcall GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
  {
    Mscorlib_tlb::_AssemblyPtr pRetVal;
    OLECHECK(this->GetSatelliteAssembly(culture, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_AssemblyPtr __fastcall GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                               Mscorlib_tlb::_VersionPtr Version/*[in]*/)
  {
    Mscorlib_tlb::_AssemblyPtr pRetVal;
    OLECHECK(this->GetSatelliteAssembly_2(culture, Version, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ModulePtr __fastcall LoadModule(BSTR moduleName/*[in]*/, 
                                                 LPSAFEARRAY rawModule/*[in]*/)
  {
    Mscorlib_tlb::_ModulePtr pRetVal;
    OLECHECK(this->LoadModule(moduleName, rawModule, (Mscorlib_tlb::_ModulePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ModulePtr __fastcall LoadModule_2(BSTR moduleName/*[in]*/, 
                                                   LPSAFEARRAY rawModule/*[in]*/, 
                                                   LPSAFEARRAY rawSymbolStore/*[in]*/)
  {
    Mscorlib_tlb::_ModulePtr pRetVal;
    OLECHECK(this->LoadModule_2(moduleName, rawModule, rawSymbolStore, (Mscorlib_tlb::_ModulePtr*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall CreateInstance(BSTR typeName/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->CreateInstance(typeName, (TVariant*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->CreateInstance_2(typeName, ignoreCase, (TVariant*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                       Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                       Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                       LPSAFEARRAY args/*[in]*/, 
                                       Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                       LPSAFEARRAY activationAttributes/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->CreateInstance_3(typeName, ignoreCase, bindingAttr, Binder, args, culture, 
                                    activationAttributes, (TVariant*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetLoadedModules(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetLoadedModules((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetLoadedModules_2(getResourceModules, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetModules(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetModules((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetModules_2(TOLEBOOL getResourceModules/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetModules_2(getResourceModules, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ModulePtr __fastcall GetModule(BSTR name/*[in]*/)
  {
    Mscorlib_tlb::_ModulePtr pRetVal;
    OLECHECK(this->GetModule(name, (Mscorlib_tlb::_ModulePtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetReferencedAssemblies(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetReferencedAssemblies((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_GlobalAssemblyCache(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_GlobalAssemblyCache((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ToString = {read = get_ToString};
  __property   BSTR            CodeBase = {read = get_CodeBase};
  __property   BSTR            EscapedCodeBase = {read = get_EscapedCodeBase};
  __property   BSTR            FullName = {read = get_FullName};
  __property   Mscorlib_tlb::_MethodInfoPtr EntryPoint = {read = get_EntryPoint};
  __property   BSTR            Location = {read = get_Location};
  __property   Mscorlib_tlb::_EvidencePtr Evidence = {read = get_Evidence};
  __property   TOLEBOOL        GlobalAssemblyCache = {read = get_GlobalAssemblyCache};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyCopyrightAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6163F792-3CD6-38F1-B5F7-000B96A5082B}
// *********************************************************************//
interface _AssemblyCopyrightAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyTrademarkAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {64C26BF9-C9E5-3F66-AD74-BEBAADE36214}
// *********************************************************************//
interface _AssemblyTrademarkAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyProductAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DE10D587-A188-3DCB-8000-92DFDB9B8021}
// *********************************************************************//
interface _AssemblyProductAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyCompanyAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C6802233-EF82-3C91-AD72-B3A5D7230ED5}
// *********************************************************************//
interface _AssemblyCompanyAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyDescriptionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6B2C0BC4-DDB7-38EA-8A86-F0B59E192816}
// *********************************************************************//
interface _AssemblyDescriptionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyTitleAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DF44CAD3-CEF2-36A9-B013-383CC03177D7}
// *********************************************************************//
interface _AssemblyTitleAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyConfigurationAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {746D1D1E-EE37-393B-B6FA-E387D37553AA}
// *********************************************************************//
interface _AssemblyConfigurationAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyDefaultAliasAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {04311D35-75EC-347B-BEDF-969487CE4014}
// *********************************************************************//
interface _AssemblyDefaultAliasAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyInformationalVersionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C6F5946C-143A-3747-A7C0-ABFADA6BDEB7}
// *********************************************************************//
interface _AssemblyInformationalVersionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyFileVersionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B101FE3C-4479-311A-A945-1225EE1731E8}
// *********************************************************************//
interface _AssemblyFileVersionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyCultureAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {177C4E63-9E0B-354D-838B-B52AA8683EF6}
// *********************************************************************//
interface _AssemblyCultureAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyVersionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A1693C5C-101F-3557-94DB-C480CEB4C16B}
// *********************************************************************//
interface _AssemblyVersionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyKeyFileAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A9FCDA18-C237-3C6F-A6EF-749BE22BA2BF}
// *********************************************************************//
interface _AssemblyKeyFileAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyDelaySignAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6CF1C077-C974-38E1-90A4-976E4835E165}
// *********************************************************************//
interface _AssemblyDelaySignAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyAlgorithmIdAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {57B849AA-D8EF-3EA6-9538-C5B4D498C2F7}
// *********************************************************************//
interface _AssemblyAlgorithmIdAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyFlagsAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0ECD8635-F5EB-3E4A-8989-4D684D67C48A}
// *********************************************************************//
interface _AssemblyFlagsAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyKeyNameAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {322A304D-11AC-3814-A905-A019F6E3DAE9}
// *********************************************************************//
interface _AssemblyKeyNameAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyName
// Indicateurs : (256) OleAutomation
// GUID        : {B42B6AAC-317E-34D5-9FA9-093BB4160C50}
// *********************************************************************//
interface _AssemblyName  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _AssemblyNameProxy
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FE52F19A-8AA8-309C-BF99-9D0A566FB76A}
// *********************************************************************//
interface _AssemblyNameProxy  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CustomAttributeFormatException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1660EB67-EE41-363E-BEB0-C2DE09214ABF}
// *********************************************************************//
interface _CustomAttributeFormatException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodBase
// Indicateurs : (256) OleAutomation
// GUID        : {6240837A-707F-3181-8E98-A36AE086766B}
// *********************************************************************//
interface _MethodBase  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_2(TVariantInParam obj/*[in]*/, 
                                             Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                             LPSAFEARRAY parameters/*[in]*/, 
                                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_3(TVariantInParam obj/*[in]*/, 
                                             LPSAFEARRAY parameters/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _MethodInfo
// Indicateurs : (256) OleAutomation
// GUID        : {FFCC1B5D-ECB8-38DD-9B01-3DC8ABC2AA5F}
// *********************************************************************//
interface _MethodInfo  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_2(TVariantInParam obj/*[in]*/, 
                                             Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                             LPSAFEARRAY parameters/*[in]*/, 
                                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_3(TVariantInParam obj/*[in]*/, 
                                             LPSAFEARRAY parameters/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_returnType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnTypeCustomAttributes(Mscorlib_tlb::ICustomAttributeProviderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetBaseDefinition(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ConstructorInfo
// Indicateurs : (256) OleAutomation
// GUID        : {E9A19478-9646-3679-9B10-8411AE1FD57D}
// *********************************************************************//
interface _ConstructorInfo  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_2(TVariantInParam obj/*[in]*/, 
                                             Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                             LPSAFEARRAY parameters/*[in]*/, 
                                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_3(TVariantInParam obj/*[in]*/, 
                                             LPSAFEARRAY parameters/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_4(Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                             LPSAFEARRAY parameters/*[in]*/, 
                                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke_5(LPSAFEARRAY parameters/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _FieldInfo
// Indicateurs : (256) OleAutomation
// GUID        : {8A7C1442-A9FB-366B-80D8-4939FFA6DBE0}
// *********************************************************************//
interface _FieldInfo  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_FieldType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetValue(TVariantInParam obj/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetValueDirect(TVariantInParam obj/*[in]*/, 
                                                   TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetValue(TVariantInParam obj/*[in]*/, 
                                             TVariantInParam value/*[in]*/, 
                                             Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetValueDirect(TVariantInParam obj/*[in]*/, 
                                                   TVariantInParam value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_FieldHandle(Mscorlib_tlb::RuntimeFieldHandle* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(Mscorlib_tlb::FieldAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetValue_2(TVariantInParam obj/*[in]*/, 
                                               TVariantInParam value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsInitOnly(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsLiteral(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsNotSerialized(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsPinvokeImpl(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _PropertyInfo
// Indicateurs : (256) OleAutomation
// GUID        : {F59ED4E4-E68F-3218-BD77-061AA82824BF}
// *********************************************************************//
interface _PropertyInfo  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_PropertyType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetValue(TVariantInParam obj/*[in]*/, LPSAFEARRAY index/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetValue_2(TVariantInParam obj/*[in]*/, 
                                               Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                               Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                               LPSAFEARRAY index/*[in]*/, 
                                               Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                               TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetValue(TVariantInParam obj/*[in]*/, 
                                             TVariantInParam value/*[in]*/, 
                                             LPSAFEARRAY index/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetValue_2(TVariantInParam obj/*[in]*/, 
                                               TVariantInParam value/*[in]*/, 
                                               Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                               Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                               LPSAFEARRAY index/*[in]*/, 
                                               Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetAccessors(TOLEBOOL nonPublic/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetGetMethod(TOLEBOOL nonPublic/*[in]*/, 
                                                 Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSetMethod(TOLEBOOL nonPublic/*[in]*/, 
                                                 Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIndexParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(Mscorlib_tlb::PropertyAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CanRead(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CanWrite(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetAccessors_2(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetGetMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSetMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _EventInfo
// Indicateurs : (256) OleAutomation
// GUID        : {9DE59C64-D889-35A1-B897-587D74469E5B}
// *********************************************************************//
interface _EventInfo  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam other/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                        TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                          LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetAddMethod(TOLEBOOL nonPublic/*[in]*/, 
                                                 Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetRemoveMethod(TOLEBOOL nonPublic/*[in]*/, 
                                                    Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetRaiseMethod(TOLEBOOL nonPublic/*[in]*/, 
                                                   Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Attributes(Mscorlib_tlb::EventAttributes* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetAddMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetRemoveMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetRaiseMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AddEventHandler(TVariantInParam Target/*[in]*/, 
                                                    Mscorlib_tlb::_DelegatePtr handler/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE RemoveEventHandler(TVariantInParam Target/*[in]*/, 
                                                       Mscorlib_tlb::_DelegatePtr handler/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_EventHandlerType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsMulticast(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ParameterInfo
// Indicateurs : (256) OleAutomation
// GUID        : {993634C4-E47A-32CC-BE08-85F567DC27D6}
// *********************************************************************//
interface _ParameterInfo  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _Module
// Indicateurs : (256) OleAutomation
// GUID        : {D002E9BA-D9E3-3749-B1D3-D565A08B13E7}
// *********************************************************************//
interface _Module  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _CustomAttributeData
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F4E5539D-0A65-3073-BF27-8DCE8EF1DEF1}
// *********************************************************************//
interface _CustomAttributeData  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DefaultMemberAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C462B072-FE6E-3BDC-9FAB-4CDBFCBCD124}
// *********************************************************************//
interface _DefaultMemberAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InvalidFilterCriteriaException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E6DF0AE7-BA15-3F80-8AFA-27773AE414FC}
// *********************************************************************//
interface _InvalidFilterCriteriaException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ManifestResourceInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3188878C-DEB3-3558-80E8-84E9ED95F92C}
// *********************************************************************//
interface _ManifestResourceInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MemberFilter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FAE5D9B7-40C1-3DE1-BE06-A91C9DA1BA9F}
// *********************************************************************//
interface _MemberFilter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Missing
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0C48F55D-5240-30C7-A8F1-AF87A640CEFE}
// *********************************************************************//
interface _Missing  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObfuscateAssemblyAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8A5F0DA2-7B43-3767-B623-2424CF7CD268}
// *********************************************************************//
interface _ObfuscateAssemblyAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObfuscationAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {71FB8DCF-3FA7-3483-8464-9D8200E57C43}
// *********************************************************************//
interface _ObfuscationAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ExceptionHandlingClause
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {643A4016-1B16-3CCF-AE86-9C2D9135ECB0}
// *********************************************************************//
interface _ExceptionHandlingClause  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodBody
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B072EFE2-C943-3977-BFD9-91D5232B0D53}
// *********************************************************************//
interface _MethodBody  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _LocalVariableInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F2ECD8CA-91A2-31E8-B808-E028B4F5CA67}
// *********************************************************************//
interface _LocalVariableInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Pointer
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F0DEAFE9-5EBA-3737-9950-C1795739CDCD}
// *********************************************************************//
interface _Pointer  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ReflectionTypeLoadException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {22C26A41-5FA3-34E3-A76F-BA480252D8EC}
// *********************************************************************//
interface _ReflectionTypeLoadException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StrongNameKeyPair
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FC4963CB-E52B-32D8-A418-D058FA51A1FA}
// *********************************************************************//
interface _StrongNameKeyPair  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TargetException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {98B1524D-DA12-3C4B-8A69-7539A6DEC4FA}
// *********************************************************************//
interface _TargetException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TargetInvocationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A90106ED-9099-3329-8A5A-2044B3D8552B}
// *********************************************************************//
interface _TargetInvocationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TargetParameterCountException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6032B3CD-9BED-351C-A145-9D500B0F636F}
// *********************************************************************//
interface _TargetParameterCountException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeDelegator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {34E00EF9-83E2-3BBC-B6AF-4CAE703838BD}
// *********************************************************************//
interface _TypeDelegator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeFilter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E1817846-3745-3C97-B4A6-EE20A1641B29}
// *********************************************************************//
interface _TypeFilter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IFormatter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {93D7A8C5-D2EB-319B-A374-A65D321F2AA9}
// *********************************************************************//
interface IFormatter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                                TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Serialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                              TVariantInParam graph/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_SurrogateSelector(Mscorlib_tlb::ISurrogateSelectorPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE _set_SurrogateSelector(Mscorlib_tlb::ISurrogateSelectorPtr pRetVal/*[in]*/) = 0; // [1610743810]
  virtual HRESULT STDMETHODCALLTYPE get_Binder(Mscorlib_tlb::_SerializationBinderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE _set_Binder(Mscorlib_tlb::_SerializationBinderPtr pRetVal/*[in]*/) = 0; // [1610743812]
  virtual HRESULT STDMETHODCALLTYPE get_Context(Mscorlib_tlb::StreamingContext* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_Context(Mscorlib_tlb::StreamingContext pRetVal/*[in]*/) = 0; // [1610743814]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->Deserialize(serializationStream, (TVariant*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISurrogateSelectorPtr __fastcall get_SurrogateSelector(void)
  {
    Mscorlib_tlb::ISurrogateSelectorPtr pRetVal;
    OLECHECK(this->get_SurrogateSelector((Mscorlib_tlb::ISurrogateSelectorPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_SerializationBinderPtr __fastcall get_Binder(void)
  {
    Mscorlib_tlb::_SerializationBinderPtr pRetVal;
    OLECHECK(this->get_Binder((Mscorlib_tlb::_SerializationBinderPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::StreamingContext __fastcall get_Context(void)
  {
    Mscorlib_tlb::StreamingContext pRetVal;
    OLECHECK(this->get_Context((Mscorlib_tlb::StreamingContext*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::ISurrogateSelectorPtr SurrogateSelector = {read = get_SurrogateSelector, write = _set_SurrogateSelector};
  __property   Mscorlib_tlb::_SerializationBinderPtr Binder = {read = get_Binder, write = _set_Binder};
  __property   Mscorlib_tlb::StreamingContext Context = {read = get_Context, write = set_Context};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Formatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D9BD3C8D-9395-3657-B6EE-D1B509C38B70}
// *********************************************************************//
interface _Formatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IFormatterConverter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {F4F5C303-FAD3-3D0C-A4DF-BB82B5EE308F}
// *********************************************************************//
interface IFormatterConverter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Convert(TVariantInParam value/*[in]*/, 
                                            Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                            TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Convert_2(TVariantInParam value/*[in]*/, 
                                              Mscorlib_tlb::TypeCode TypeCode/*[in]*/, 
                                              TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToBoolean(TVariantInParam value/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToChar(TVariantInParam value/*[in]*/, 
                                           unsigned_short* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToSByte(TVariantInParam value/*[in]*/, 
                                            signed_char* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToByte(TVariantInParam value/*[in]*/, 
                                           unsigned_char* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToInt16(TVariantInParam value/*[in]*/, 
                                            short* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToUInt16(TVariantInParam value/*[in]*/, 
                                             unsigned_short* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToInt32(TVariantInParam value/*[in]*/, 
                                            long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToUInt32(TVariantInParam value/*[in]*/, 
                                             unsigned_long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToInt64(TVariantInParam value/*[in]*/, 
                                            __int64* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToUInt64(TVariantInParam value/*[in]*/, 
                                             unsigned_int64* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToSingle(TVariantInParam value/*[in]*/, 
                                             float* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToDouble(TVariantInParam value/*[in]*/, 
                                             double* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToDecimal(TVariantInParam value/*[in]*/, 
                                              DECIMAL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ToDateTime(TVariantInParam value/*[in]*/, 
                                               DATE* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(TVariantInParam value/*[in]*/, 
                                                 BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall Convert(TVariantInParam value/*[in]*/, Mscorlib_tlb::_TypePtr Type/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->Convert(value, Type, (TVariant*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall Convert_2(TVariantInParam value/*[in]*/, 
                                Mscorlib_tlb::TypeCode TypeCode/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->Convert_2(value, TypeCode, (TVariant*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall ToBoolean(TVariantInParam value/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->ToBoolean(value, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  unsigned_short __fastcall ToChar(TVariantInParam value/*[in]*/)
  {
    unsigned_short pRetVal;
    OLECHECK(this->ToChar(value, (unsigned_short*)&pRetVal));
    return pRetVal;
  }

  signed_char __fastcall ToSByte(TVariantInParam value/*[in]*/)
  {
    signed_char pRetVal;
    OLECHECK(this->ToSByte(value, (signed_char*)&pRetVal));
    return pRetVal;
  }

  unsigned_char __fastcall ToByte(TVariantInParam value/*[in]*/)
  {
    unsigned_char pRetVal;
    OLECHECK(this->ToByte(value, (unsigned_char*)&pRetVal));
    return pRetVal;
  }

  short __fastcall ToInt16(TVariantInParam value/*[in]*/)
  {
    short pRetVal;
    OLECHECK(this->ToInt16(value, (short*)&pRetVal));
    return pRetVal;
  }

  unsigned_short __fastcall ToUInt16(TVariantInParam value/*[in]*/)
  {
    unsigned_short pRetVal;
    OLECHECK(this->ToUInt16(value, (unsigned_short*)&pRetVal));
    return pRetVal;
  }

  long __fastcall ToInt32(TVariantInParam value/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->ToInt32(value, (long*)&pRetVal));
    return pRetVal;
  }

  unsigned_long __fastcall ToUInt32(TVariantInParam value/*[in]*/)
  {
    unsigned_long pRetVal;
    OLECHECK(this->ToUInt32(value, (unsigned_long*)&pRetVal));
    return pRetVal;
  }

  __int64 __fastcall ToInt64(TVariantInParam value/*[in]*/)
  {
    __int64 pRetVal;
    OLECHECK(this->ToInt64(value, (__int64*)&pRetVal));
    return pRetVal;
  }

  unsigned_int64 __fastcall ToUInt64(TVariantInParam value/*[in]*/)
  {
    unsigned_int64 pRetVal;
    OLECHECK(this->ToUInt64(value, (unsigned_int64*)&pRetVal));
    return pRetVal;
  }

  float __fastcall ToSingle(TVariantInParam value/*[in]*/)
  {
    float pRetVal;
    OLECHECK(this->ToSingle(value, (float*)&pRetVal));
    return pRetVal;
  }

  double __fastcall ToDouble(TVariantInParam value/*[in]*/)
  {
    double pRetVal;
    OLECHECK(this->ToDouble(value, (double*)&pRetVal));
    return pRetVal;
  }

  DECIMAL __fastcall ToDecimal(TVariantInParam value/*[in]*/)
  {
    DECIMAL pRetVal;
    OLECHECK(this->ToDecimal(value, (DECIMAL*)&pRetVal));
    return pRetVal;
  }

  DATE __fastcall ToDateTime(TVariantInParam value/*[in]*/)
  {
    DATE pRetVal;
    OLECHECK(this->ToDateTime(value, (DATE*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_ToString(TVariantInParam value/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString(value, (BSTR*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FormatterConverter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3FAA35EE-C867-3E2E-BF48-2DA271F88303}
// *********************************************************************//
interface _FormatterConverter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FormatterServices
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F859954A-78CF-3D00-86AB-EF661E6A4B8D}
// *********************************************************************//
interface _FormatterServices  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISerializationSurrogate
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {62339172-DBFA-337B-8AC8-053B241E06AB}
// *********************************************************************//
interface ISerializationSurrogate  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetObjectData(TVariantInParam obj/*[in]*/, 
                                                  Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                                  Mscorlib_tlb::StreamingContext Context/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE SetObjectData(TVariantInParam obj/*[in]*/, 
                                                  Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                                  Mscorlib_tlb::StreamingContext Context/*[in]*/, 
                                                  Mscorlib_tlb::ISurrogateSelectorPtr selector/*[in]*/, 
                                                  TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall SetObjectData(TVariantInParam obj/*[in]*/, 
                                    Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                    Mscorlib_tlb::StreamingContext Context/*[in]*/, 
                                    Mscorlib_tlb::ISurrogateSelectorPtr selector/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->SetObjectData(obj, info, Context, selector, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISurrogateSelector
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {7C66FF18-A1A5-3E19-857B-0E7B6A9E3F38}
// *********************************************************************//
interface ISurrogateSelector  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE ChainSelector(Mscorlib_tlb::ISurrogateSelectorPtr selector/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetSurrogate(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                 Mscorlib_tlb::StreamingContext Context/*[in]*/, 
                                                 Mscorlib_tlb::ISurrogateSelectorPtr* selector/*[out]*/, 
                                                 Mscorlib_tlb::ISerializationSurrogatePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNextSelector(Mscorlib_tlb::ISurrogateSelectorPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::ISerializationSurrogatePtr __fastcall GetSurrogate(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                                   Mscorlib_tlb::StreamingContext Context/*[in]*/, 
                                                                   Mscorlib_tlb::ISurrogateSelectorPtr* selector/*[out]*/)
  {
    Mscorlib_tlb::ISerializationSurrogatePtr pRetVal;
    OLECHECK(this->GetSurrogate(Type, Context, selector, (Mscorlib_tlb::ISerializationSurrogatePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ISurrogateSelectorPtr __fastcall GetNextSelector(void)
  {
    Mscorlib_tlb::ISurrogateSelectorPtr pRetVal;
    OLECHECK(this->GetNextSelector((Mscorlib_tlb::ISurrogateSelectorPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObjectIDGenerator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A30646CC-F710-3BFA-A356-B4C858D4ED8E}
// *********************************************************************//
interface _ObjectIDGenerator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObjectManager
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F28E7D04-3319-3968-8201-C6E55BECD3D4}
// *********************************************************************//
interface _ObjectManager  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OptionalFieldAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FECA70D4-AE27-3D94-93DD-A90F02E299D5}
// *********************************************************************//
interface _OptionalFieldAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OnSerializingAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9EC28D2C-04C0-35F3-A7EE-0013271FF65E}
// *********************************************************************//
interface _OnSerializingAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OnSerializedAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {547BF8CD-F2A8-3B41-966D-98DB33DED06D}
// *********************************************************************//
interface _OnSerializedAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OnDeserializingAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F5AEF88F-9AC4-320C-95D2-88E863A35762}
// *********************************************************************//
interface _OnDeserializingAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OnDeserializedAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DD36C803-73D1-338D-88BA-DC9EB7620EF7}
// *********************************************************************//
interface _OnDeserializedAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SerializationBinder
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {450222D0-87CA-3699-A7B4-D8A0FDB72357}
// *********************************************************************//
interface _SerializationBinder  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SerializationInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B58D62CF-B03A-3A14-B0B6-B1E5AD4E4AD5}
// *********************************************************************//
interface _SerializationInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SerializationInfoEnumerator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {607056C6-1BCA-36C8-AB87-33B202EBF0D8}
// *********************************************************************//
interface _SerializationInfoEnumerator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SerializationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {245FE7FD-E020-3053-B5F6-7467FD2C6883}
// *********************************************************************//
interface _SerializationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SurrogateSelector
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6DE1230E-1F52-3779-9619-F5184103466C}
// *********************************************************************//
interface _SurrogateSelector  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Calendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4CCA29E4-584B-3CD0-AD25-855DC5799C16}
// *********************************************************************//
interface _Calendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EastAsianLunisolarCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {89E148C4-2424-30AE-80F5-C5D21EA3366C}
// *********************************************************************//
interface _EastAsianLunisolarCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CompareInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {505DEFE5-AEFA-3E23-82B0-D5EB085BB840}
// *********************************************************************//
interface _CompareInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CultureInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {152722C2-F0B1-3D19-ADA8-F40CA5CAECB8}
// *********************************************************************//
interface _CultureInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DateTimeFormatInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {015E9F67-337C-398A-A0C1-DA4AF1905571}
// *********************************************************************//
interface _DateTimeFormatInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DaylightTime
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EFEA8FEB-EE7F-3E48-8A36-6206A6ACBF73}
// *********************************************************************//
interface _DaylightTime  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GregorianCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {677AD8B5-8A0E-3C39-92FB-72FB817CF694}
// *********************************************************************//
interface _GregorianCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HebrewCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {96A62D6C-72A9-387A-81FA-E6DD5998CAEE}
// *********************************************************************//
interface _HebrewCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HijriCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {28DDC187-56B2-34CF-A078-48BD1E113D1E}
// *********************************************************************//
interface _HijriCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _JapaneseCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D662AE3F-CEF9-38B4-BB8E-5D8DD1DBF806}
// *********************************************************************//
interface _JapaneseCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _JulianCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {36E2DE92-1FB3-3D7D-BA26-9CAD5B98DD52}
// *********************************************************************//
interface _JulianCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KoreanCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {48BEA6C4-752E-3974-8CA8-CFB6274E2379}
// *********************************************************************//
interface _KoreanCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RegionInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F9E97E04-4E1E-368F-B6C6-5E96CE4362D6}
// *********************************************************************//
interface _RegionInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SortKey
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F4C70E15-2CA6-3E90-96ED-92E28491F538}
// *********************************************************************//
interface _SortKey  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StringInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0A25141F-51B3-3121-AA30-0AF4556A52D9}
// *********************************************************************//
interface _StringInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TaiwanCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0C08ED74-0ACF-32A9-99DF-09A9DC4786DD}
// *********************************************************************//
interface _TaiwanCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TextElementEnumerator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8C248251-3E6C-3151-9F8E-A255FB8D2B12}
// *********************************************************************//
interface _TextElementEnumerator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TextInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DB8DE23F-F264-39AC-B61C-CC1E7EB4A5E6}
// *********************************************************************//
interface _TextInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ThaiBuddhistCalendar
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C70C8AE8-925B-37CE-8944-34F15FF94307}
// *********************************************************************//
interface _ThaiBuddhistCalendar  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NumberFormatInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {25E47D71-20DD-31BE-B261-7AE76497D6B9}
// *********************************************************************//
interface _NumberFormatInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Encoding
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DDEDB94D-4F3F-35C1-97C9-3F1D87628D9E}
// *********************************************************************//
interface _Encoding  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Encoder
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8FD56502-8724-3DF0-A1B5-9D0E8D4E4F78}
// *********************************************************************//
interface _Encoder  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Decoder
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2ADB0D4A-5976-38E4-852B-C131797430F5}
// *********************************************************************//
interface _Decoder  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ASCIIEncoding
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0CBE0204-12A1-3D40-9D9E-195DE6AAA534}
// *********************************************************************//
interface _ASCIIEncoding  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnicodeEncoding
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F7DD3B7F-2B05-3894-8EDA-59CDF9395B6A}
// *********************************************************************//
interface _UnicodeEncoding  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UTF7Encoding
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {89B9F00B-AA2A-3A49-91B4-E8D1F1C00E58}
// *********************************************************************//
interface _UTF7Encoding  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UTF8Encoding
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {010FC1D0-3EF9-3F3B-AA0A-B78A1FF83A37}
// *********************************************************************//
interface _UTF8Encoding  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IResourceReader
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {8965A22F-FBA8-36AD-8132-70BBD0DA457D}
// *********************************************************************//
interface IResourceReader  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Close(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetEnumerator(Mscorlib_tlb::IDictionaryEnumeratorPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IDictionaryEnumeratorPtr __fastcall GetEnumerator(void)
  {
    Mscorlib_tlb::IDictionaryEnumeratorPtr pRetVal;
    OLECHECK(this->GetEnumerator((Mscorlib_tlb::IDictionaryEnumeratorPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IResourceWriter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {E97AA6E5-595E-31C3-82F0-688FB91954C6}
// *********************************************************************//
interface IResourceWriter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE AddResource(BSTR name/*[in]*/, BSTR value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AddResource_2(BSTR name/*[in]*/, TVariantInParam value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AddResource_3(BSTR name/*[in]*/, LPSAFEARRAY value/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Close(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Generate(void) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MissingManifestResourceException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1A4E1878-FE8C-3F59-B6A9-21AB82BE57E9}
// *********************************************************************//
interface _MissingManifestResourceException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MissingSatelliteAssemblyException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5A8DE087-D9D7-3BBA-92B4-FE1034A1242F}
// *********************************************************************//
interface _MissingSatelliteAssemblyException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NeutralResourcesLanguageAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F48DF808-8B7D-3F4E-9159-1DFD60F298D6}
// *********************************************************************//
interface _NeutralResourcesLanguageAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ResourceManager
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4DE671B7-7C85-37E9-AFF8-1222ABE4883E}
// *********************************************************************//
interface _ResourceManager  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ResourceReader
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7FBCFDC7-5CEC-3945-8095-DAED61BE5FB1}
// *********************************************************************//
interface _ResourceReader  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ResourceSet
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {44D5F81A-727C-35AE-8DF8-9FF6722F1C6C}
// *********************************************************************//
interface _ResourceSet  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ResourceWriter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AF170258-AAC6-3A86-BD34-303E62CED10E}
// *********************************************************************//
interface _ResourceWriter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SatelliteContractVersionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5CBB1F47-FBA5-33B9-9D4A-57D6E3D133D2}
// *********************************************************************//
interface _SatelliteContractVersionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Registry
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {23BAE0C0-3A36-32F0-9DAD-0E95ADD67D23}
// *********************************************************************//
interface _Registry  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RegistryKey
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2EAC6733-8D92-31D9-BE04-DC467EFC3EB1}
// *********************************************************************//
interface _RegistryKey  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISecurityEncodable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {FD46BDE5-ACDF-3CA5-B189-F0678387077F}
// *********************************************************************//
interface ISecurityEncodable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE ToXml(Mscorlib_tlb::_SecurityElementPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE FromXml(Mscorlib_tlb::_SecurityElementPtr e/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_SecurityElementPtr __fastcall ToXml(void)
  {
    Mscorlib_tlb::_SecurityElementPtr pRetVal;
    OLECHECK(this->ToXml((Mscorlib_tlb::_SecurityElementPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISecurityPolicyEncodable
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {E6C21BA7-21BB-34E9-8E57-DB66D8CE4A70}
// *********************************************************************//
interface ISecurityPolicyEncodable  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE ToXml(Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/, 
                                          Mscorlib_tlb::_SecurityElementPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE FromXml(Mscorlib_tlb::_SecurityElementPtr e/*[in]*/, 
                                            Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_SecurityElementPtr __fastcall ToXml(Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/)
  {
    Mscorlib_tlb::_SecurityElementPtr pRetVal;
    OLECHECK(this->ToXml(level, (Mscorlib_tlb::_SecurityElementPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IMembershipCondition
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {6844EFF4-4F86-3CA1-A1EA-AAF583A6395E}
// *********************************************************************//
interface IMembershipCondition  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Check(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                          TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Copy(Mscorlib_tlb::IMembershipConditionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam obj/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall Check(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Check(Evidence, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IMembershipConditionPtr __fastcall Copy(void)
  {
    Mscorlib_tlb::IMembershipConditionPtr pRetVal;
    OLECHECK(this->Copy((Mscorlib_tlb::IMembershipConditionPtr*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_ToString(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Equals(TVariantInParam obj/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ToString = {read = get_ToString};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AllMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {99F01720-3CC2-366D-9AB9-50E36647617F}
// *********************************************************************//
interface _AllMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationDirectory
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9CCC831B-1BA7-34BE-A966-56D5A6DB5AAD}
// *********************************************************************//
interface _ApplicationDirectory  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationDirectoryMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A02A2B22-1DBA-3F92-9F84-5563182851BB}
// *********************************************************************//
interface _ApplicationDirectoryMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationSecurityInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {18E473F6-637B-3C01-8D46-D011AAD26C95}
// *********************************************************************//
interface _ApplicationSecurityInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationSecurityManager
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C664FE09-0A55-316D-B25B-6B3200ECAF70}
// *********************************************************************//
interface _ApplicationSecurityManager  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationTrust
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E66A9755-58E2-3FCB-A265-835851CBF063}
// *********************************************************************//
interface _ApplicationTrust  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationTrustCollection
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BB03C920-1C05-3ECB-982D-53324D5AC9FF}
// *********************************************************************//
interface _ApplicationTrustCollection  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ApplicationTrustEnumerator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {01AFD447-60CA-3B67-803A-E57B727F3A5B}
// *********************************************************************//
interface _ApplicationTrustEnumerator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CodeGroup
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D7093F61-ED6B-343F-B1E9-02472FCC710E}
// *********************************************************************//
interface _CodeGroup  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Evidence
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A505EDBC-380E-3B23-9E1A-0974D4EF02EF}
// *********************************************************************//
interface _Evidence  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileCodeGroup
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DFAD74DC-8390-32F6-9612-1BD293B233F4}
// *********************************************************************//
interface _FileCodeGroup  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FirstMatchCodeGroup
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {54B0AFB1-E7D3-3770-BB0E-75A95E8D2656}
// *********************************************************************//
interface _FirstMatchCodeGroup  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IIdentityPermissionFactory
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {4E95244E-C6FC-3A86-8DB7-1712454DE3B6}
// *********************************************************************//
interface IIdentityPermissionFactory  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE CreateIdentityPermission(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                             Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IPermissionPtr __fastcall CreateIdentityPermission(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/)
  {
    Mscorlib_tlb::IPermissionPtr pRetVal;
    OLECHECK(this->CreateIdentityPermission(Evidence, (Mscorlib_tlb::IPermissionPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IApplicationTrustManager
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {427E255D-AF02-3B0D-8CE3-A2BB94BA300F}
// *********************************************************************//
interface IApplicationTrustManager  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE DetermineApplicationTrust(LPUNKNOWN activationContext/*[in]*/, 
                                                              Mscorlib_tlb::_TrustManagerContextPtr Context/*[in]*/, 
                                                              Mscorlib_tlb::_ApplicationTrustPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_ApplicationTrustPtr __fastcall DetermineApplicationTrust(LPUNKNOWN activationContext/*[in]*/, 
                                                                          Mscorlib_tlb::_TrustManagerContextPtr Context/*[in]*/)
  {
    Mscorlib_tlb::_ApplicationTrustPtr pRetVal;
    OLECHECK(this->DetermineApplicationTrust(activationContext, Context, (Mscorlib_tlb::_ApplicationTrustPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TrustManagerContext
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D89EAC5E-0331-3FCD-9C16-4F1ED3FE1BE2}
// *********************************************************************//
interface _TrustManagerContext  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CodeConnectAccess
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FE8A2546-3478-3FAD-BE1D-DA7BC25C4E4E}
// *********************************************************************//
interface _CodeConnectAccess  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NetCodeGroup
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A8F69ECA-8C48-3B5E-92A1-654925058059}
// *********************************************************************//
interface _NetCodeGroup  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PermissionRequestEvidence
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {34B0417E-E71D-304C-9FAC-689350A1B41C}
// *********************************************************************//
interface _PermissionRequestEvidence  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PolicyException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A9C9F3D9-E153-39B8-A533-B8DF4664407B}
// *********************************************************************//
interface _PolicyException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PolicyLevel
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {44494E35-C370-3014-BC78-0F2ECBF83F53}
// *********************************************************************//
interface _PolicyLevel  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PolicyStatement
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3EEFD1FC-4D8D-3177-99F6-6C19D9E088D3}
// *********************************************************************//
interface _PolicyStatement  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Site
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {90C40B4C-B0D0-30F5-B520-FDBA97BC31A0}
// *********************************************************************//
interface _Site  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SiteMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0A7C3542-8031-3593-872C-78D85D7CC273}
// *********************************************************************//
interface _SiteMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StrongName
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2A75C1FD-06B0-3CBB-B467-2545D4D6C865}
// *********************************************************************//
interface _StrongName  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StrongNameMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {579E93BC-FFAB-3B8D-9181-CE9C22B51915}
// *********************************************************************//
interface _StrongNameMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnionCodeGroup
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D9D822DE-44E5-33CE-A43F-173E475CECB1}
// *********************************************************************//
interface _UnionCodeGroup  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Url
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D94ED9BF-C065-3703-81A2-2F76EA8E312F}
// *********************************************************************//
interface _Url  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UrlMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BB7A158D-DBD9-3E13-B137-8E61E87E1128}
// *********************************************************************//
interface _UrlMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Zone
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {742E0C26-0E23-3D20-968C-D221094909AA}
// *********************************************************************//
interface _Zone  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ZoneMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {ADBC3463-0101-3429-A06C-DB2F1DD6B724}
// *********************************************************************//
interface _ZoneMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GacInstalled
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A7AEF52C-B47B-3660-BB3E-34347D56DB46}
// *********************************************************************//
interface _GacInstalled  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GacMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B2217AB5-6E55-3FF6-A1A9-1B0DC0585040}
// *********************************************************************//
interface _GacMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Hash
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7574E121-74A6-3626-B578-0783BADB19D2}
// *********************************************************************//
interface _Hash  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HashMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6BA6EA7A-C9FC-3E73-82EC-18F29D83EEFD}
// *********************************************************************//
interface _HashMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Publisher
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {77CCA693-ABF6-3773-BF58-C0B02701A744}
// *********************************************************************//
interface _Publisher  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PublisherMembershipCondition
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3515CF63-9863-3044-B3E1-210E98EFC702}
// *********************************************************************//
interface _PublisherMembershipCondition  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IIdentity
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {F4205A87-4D46-303D-B1D9-5A99F7C90D30}
// *********************************************************************//
interface IIdentity  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_AuthenticationType(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_IsAuthenticated(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_name(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_name((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_AuthenticationType(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_AuthenticationType((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_IsAuthenticated(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_IsAuthenticated((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            name = {read = get_name};
  __property   BSTR            AuthenticationType = {read = get_AuthenticationType};
  __property   TOLEBOOL        IsAuthenticated = {read = get_IsAuthenticated};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GenericIdentity
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9A37D8B2-2256-3FE3-8BF0-4FC421A1244F}
// *********************************************************************//
interface _GenericIdentity  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IPrincipal
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {4283CA6C-D291-3481-83C9-9554481FE888}
// *********************************************************************//
interface IPrincipal  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Identity(Mscorlib_tlb::IIdentityPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsInRole(BSTR role/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IIdentityPtr __fastcall get_Identity(void)
  {
    Mscorlib_tlb::IIdentityPtr pRetVal;
    OLECHECK(this->get_Identity((Mscorlib_tlb::IIdentityPtr*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall IsInRole(BSTR role/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsInRole(role, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IIdentityPtr Identity = {read = get_Identity};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GenericPrincipal
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B4701C26-1509-3726-B2E1-409A636C9B4F}
// *********************************************************************//
interface _GenericPrincipal  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WindowsIdentity
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D8CF3F23-1A66-3344-8230-07EB53970B85}
// *********************************************************************//
interface _WindowsIdentity  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WindowsImpersonationContext
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {60ECFDDA-650A-324C-B4B3-F4D75B563BB1}
// *********************************************************************//
interface _WindowsImpersonationContext  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WindowsPrincipal
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6C42BAF9-1893-34FC-B3AF-06931E9B34A3}
// *********************************************************************//
interface _WindowsPrincipal  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnmanagedFunctionPointerAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1B6ED26A-4B7F-34FC-B2C8-8109D684B3DF}
// *********************************************************************//
interface _UnmanagedFunctionPointerAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DispIdAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BBE41AC5-8692-3427-9AE1-C1058A38D492}
// *********************************************************************//
interface _DispIdAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InterfaceTypeAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A2145F38-CAC1-33DD-A318-21948AF6825D}
// *********************************************************************//
interface _InterfaceTypeAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComDefaultInterfaceAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0C1E7B57-B9B1-36E4-8396-549C29062A81}
// *********************************************************************//
interface _ComDefaultInterfaceAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ClassInterfaceAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6B6391EE-842F-3E9A-8EEE-F13325E10996}
// *********************************************************************//
interface _ClassInterfaceAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComVisibleAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1E7FFFE2-AAD9-34EE-8A9F-3C016B880FF0}
// *********************************************************************//
interface _ComVisibleAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeLibImportClassAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {288A86D1-6F4F-39C9-9E42-162CF1C37226}
// *********************************************************************//
interface _TypeLibImportClassAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _LCIDConversionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4AB67927-3C86-328A-8186-F85357DD5527}
// *********************************************************************//
interface _LCIDConversionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComRegisterFunctionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {51BA926F-AAB5-3945-B8A6-C8F0F4A7D12B}
// *********************************************************************//
interface _ComRegisterFunctionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComUnregisterFunctionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9F164188-34EB-3F86-9F74-0BBE4155E65E}
// *********************************************************************//
interface _ComUnregisterFunctionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ProgIdAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2B9F01DF-5A12-3688-98D6-C34BF5ED1865}
// *********************************************************************//
interface _ProgIdAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ImportedFromTypeLibAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3F3311CE-6BAF-3FB0-B855-489AFF740B6E}
// *********************************************************************//
interface _ImportedFromTypeLibAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IDispatchImplAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5778E7C7-2040-330E-B47A-92974DFFCFD4}
// *********************************************************************//
interface _IDispatchImplAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComSourceInterfacesAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E1984175-55F5-3065-82D8-A683FDFCF0AC}
// *********************************************************************//
interface _ComSourceInterfacesAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComConversionLossAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FD5B6AAC-FF8C-3472-B894-CD6DFADB6939}
// *********************************************************************//
interface _ComConversionLossAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeLibTypeAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B5A1729E-B721-3121-A838-FDE43AF13468}
// *********************************************************************//
interface _TypeLibTypeAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeLibFuncAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3D18A8E2-EEDE-3139-B29D-8CAC057955DF}
// *********************************************************************//
interface _TypeLibFuncAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeLibVarAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7B89862A-02A4-3279-8B42-4095FA3A778E}
// *********************************************************************//
interface _TypeLibVarAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MarshalAsAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D858399F-E19E-3423-A720-AC12ABE2E5E8}
// *********************************************************************//
interface _MarshalAsAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComImportAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1B093056-5454-386F-8971-BBCBC4E9A8F3}
// *********************************************************************//
interface _ComImportAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GuidAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {74435DAD-EC55-354B-8F5B-FA70D13B6293}
// *********************************************************************//
interface _GuidAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PreserveSigAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FDF2A2EE-C882-3198-A48B-E37F0E574DFA}
// *********************************************************************//
interface _PreserveSigAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8474B65C-C39A-3D05-893D-577B9A314615}
// *********************************************************************//
interface _InAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OutAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0697FC8C-9B04-3783-95C7-45ECCAC1CA27}
// *********************************************************************//
interface _OutAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OptionalAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0D6BD9AD-198E-3904-AD99-F6F82A2787C4}
// *********************************************************************//
interface _OptionalAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DllImportAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A1A26181-D55E-3EE2-96E6-70B354EF9371}
// *********************************************************************//
interface _DllImportAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StructLayoutAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {23753322-C7B3-3F9A-AC96-52672C1B1CA9}
// *********************************************************************//
interface _StructLayoutAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FieldOffsetAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C14342B8-BAFD-322A-BB71-62C672DA284E}
// *********************************************************************//
interface _FieldOffsetAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComAliasNameAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E78785C4-3A73-3C15-9390-618BF3A14719}
// *********************************************************************//
interface _ComAliasNameAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AutomationProxyAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {57B908A8-C082-3581-8A47-6B41B86E8FDC}
// *********************************************************************//
interface _AutomationProxyAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PrimaryInteropAssemblyAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C69E96B2-6161-3621-B165-5805198C6B8D}
// *********************************************************************//
interface _PrimaryInteropAssemblyAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CoClassAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {15D54C00-7C95-38D7-B859-E19346677DCD}
// *********************************************************************//
interface _CoClassAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComEventInterfaceAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {76CC0491-9A10-35C0-8A66-7931EC345B7F}
// *********************************************************************//
interface _ComEventInterfaceAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeLibVersionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A03B61A4-CA61-3460-8232-2F4EC96AA88F}
// *********************************************************************//
interface _TypeLibVersionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ComCompatibleVersionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AD419379-2AC8-3588-AB1E-0115413277C4}
// *********************************************************************//
interface _ComCompatibleVersionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BestFitMappingAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {ED47ABE7-C84B-39F9-BE1B-828CFB925AFE}
// *********************************************************************//
interface _BestFitMappingAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DefaultCharSetAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B26B3465-28E4-33B5-B9BF-DD7C4F6461F5}
// *********************************************************************//
interface _DefaultCharSetAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SetWin32ContextInIDispatchAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A54AC093-BFCE-37B0-A81F-148DFED0971F}
// *********************************************************************//
interface _SetWin32ContextInIDispatchAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ExternalException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A83F04E9-FD28-384A-9DFF-410688AC23AB}
// *********************************************************************//
interface _ExternalException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _COMException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A28C19DF-B488-34AE-BECC-7DE744D17F7B}
// *********************************************************************//
interface _COMException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICustomMarshaler
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {601CD486-04BF-3213-9EA9-06EBE4351D74}
// *********************************************************************//
interface ICustomMarshaler  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE MarshalNativeToManaged(long pNativeData/*[in]*/, 
                                                           TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE MarshalManagedToNative(TVariantInParam ManagedObj/*[in]*/, 
                                                           long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CleanUpNativeData(long pNativeData/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CleanUpManagedData(TVariantInParam ManagedObj/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetNativeDataSize(long* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall MarshalNativeToManaged(long pNativeData/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->MarshalNativeToManaged(pNativeData, (TVariant*)&pRetVal));
    return pRetVal;
  }

  long __fastcall MarshalManagedToNative(TVariantInParam ManagedObj/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->MarshalManagedToNative(ManagedObj, (long*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetNativeDataSize(void)
  {
    long pRetVal;
    OLECHECK(this->GetNativeDataSize((long*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InvalidOleVariantTypeException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {76E5DBD6-F960-3C65-8EA6-FC8AD6A67022}
// *********************************************************************//
interface _InvalidOleVariantTypeException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ITypeLibImporterNotifySink
// Indicateurs : (256) OleAutomation
// GUID        : {F1C3BF76-C3E4-11D3-88E7-00902754C43A}
// *********************************************************************//
interface ITypeLibImporterNotifySink  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE ReportEvent(Mscorlib_tlb::ImporterEventKind eventKind/*[in]*/, 
                                                long eventCode/*[in]*/, BSTR eventMsg/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ResolveRef(LPUNKNOWN typeLib/*[in]*/, 
                                               Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _MarshalDirectiveException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {523F42A5-1FD2-355D-82BF-0D67C4A0A0E7}
// *********************************************************************//
interface _MarshalDirectiveException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RuntimeEnvironment
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EDCEE21A-3E3A-331E-A86D-274028BE6716}
// *********************************************************************//
interface _RuntimeEnvironment  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SEHException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3E72E067-4C5E-36C8-BBEF-1E2978C7780D}
// *********************************************************************//
interface _SEHException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BStrWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {80DA5818-609F-32B8-A9F8-95FCFBDB9C8E}
// *********************************************************************//
interface _BStrWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CurrencyWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7DF6F279-DA62-3C9F-8944-4DD3C0F08170}
// *********************************************************************//
interface _CurrencyWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DispatchWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {72103C67-D511-329C-B19A-DD5EC3F1206C}
// *********************************************************************//
interface _DispatchWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ErrorWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F79DB336-06BE-3959-A5AB-58B2AB6C5FD1}
// *********************************************************************//
interface _ErrorWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ExtensibleClassFactory
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {519EB857-7A2D-3A95-A2A3-8BB8ED63D41B}
// *********************************************************************//
interface _ExtensibleClassFactory  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICustomAdapter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {3CC86595-FEB5-3CE9-BA14-D05C8DC3321C}
// *********************************************************************//
interface ICustomAdapter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetUnderlyingObject(LPUNKNOWN* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPUNKNOWN __fastcall GetUnderlyingObject(void)
  {
    LPUNKNOWN pRetVal;
    OLECHECK(this->GetUnderlyingObject((LPUNKNOWN*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICustomFactory
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {0CA9008E-EE90-356E-9F6D-B59E6006B9A4}
// *********************************************************************//
interface ICustomFactory  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE CreateInstance(Mscorlib_tlb::_TypePtr serverType/*[in]*/, 
                                                   Mscorlib_tlb::_MarshalByRefObjectPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_MarshalByRefObjectPtr __fastcall CreateInstance(Mscorlib_tlb::_TypePtr serverType/*[in]*/)
  {
    Mscorlib_tlb::_MarshalByRefObjectPtr pRetVal;
    OLECHECK(this->CreateInstance(serverType, (Mscorlib_tlb::_MarshalByRefObjectPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InvalidComObjectException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DE9156B5-5E7A-3041-BF45-A29A6C2CF48A}
// *********************************************************************//
interface _InvalidComObjectException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IRegistrationServices
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {CCBD682C-73A5-4568-B8B0-C7007E11ABA2}
// *********************************************************************//
interface IRegistrationServices  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/, 
                                                     TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                       TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                                  LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                     BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE RegisterTypeForComClients(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                              TGUID* G/*[in,out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetManagedCategoryGuid(TGUID* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                             TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                          TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                       Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->RegisterAssembly(Assembly, flags, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->UnregisterAssembly(Assembly, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetRegistrableTypesInAssembly(Assembly, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->GetProgIdForType(Type, (BSTR*)&pRetVal));
    return pRetVal;
  }

  TGUID __fastcall GetManagedCategoryGuid(void)
  {
    TGUID pRetVal;
    OLECHECK(this->GetManagedCategoryGuid((TGUID*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->TypeRequiresRegistration(Type, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->TypeRepresentsComType(Type, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ITypeLibExporterNotifySink
// Indicateurs : (256) OleAutomation
// GUID        : {F1C3BF77-C3E4-11D3-88E7-00902754C43A}
// *********************************************************************//
interface ITypeLibExporterNotifySink  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE ReportEvent(Mscorlib_tlb::ExporterEventKind eventKind/*[in]*/, 
                                                long eventCode/*[in]*/, BSTR eventMsg/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ResolveRef(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                               LPUNKNOWN* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : ITypeLibConverter
// Indicateurs : (256) OleAutomation
// GUID        : {F1C3BF78-C3E4-11D3-88E7-00902754C43A}
// *********************************************************************//
interface ITypeLibConverter  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE ConvertTypeLibToAssembly(LPUNKNOWN typeLib/*[in]*/, 
                                                             BSTR asmFileName/*[in]*/, 
                                                             Mscorlib_tlb::TypeLibImporterFlags flags/*[in]*/, 
                                                             Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                             LPSAFEARRAY publicKey/*[in]*/, 
                                                             Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                             BSTR asmNamespace/*[in]*/, 
                                                             Mscorlib_tlb::_VersionPtr asmVersion/*[in]*/, 
                                                             Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ConvertAssemblyToTypeLib(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                             BSTR typeLibName/*[in]*/, 
                                                             Mscorlib_tlb::TypeLibExporterFlags flags/*[in]*/, 
                                                             Mscorlib_tlb::ITypeLibExporterNotifySinkPtr notifySink/*[in]*/, 
                                                             LPUNKNOWN* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetPrimaryInteropAssembly(TGUID G/*[in]*/, long major/*[in]*/, 
                                                              long minor/*[in]*/, long lcid/*[in]*/, 
                                                              BSTR* asmName/*[out]*/, 
                                                              BSTR* asmCodeBase/*[out]*/, 
                                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ConvertTypeLibToAssembly_2(LPUNKNOWN typeLib/*[in]*/, 
                                                               BSTR asmFileName/*[in]*/, 
                                                               long flags/*[in]*/, 
                                                               Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                               LPSAFEARRAY publicKey/*[in]*/, 
                                                               Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                               TOLEBOOL unsafeInterfaces/*[in]*/, 
                                                               Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : ITypeLibExporterNameProvider
// Indicateurs : (256) OleAutomation
// GUID        : {FA1F3615-ACB9-486D-9EAC-1BEF87E36B09}
// *********************************************************************//
interface ITypeLibExporterNameProvider  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetNames(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ObjectCreationDelegate
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E4A369D3-6CF0-3B05-9C0C-1A91E331641A}
// *********************************************************************//
interface _ObjectCreationDelegate  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SafeArrayRankMismatchException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8608FE7B-2FDC-318A-B711-6F7B2FEDED06}
// *********************************************************************//
interface _SafeArrayRankMismatchException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SafeArrayTypeMismatchException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E093FB32-E43B-3B3F-A163-742C920C2AF3}
// *********************************************************************//
interface _SafeArrayTypeMismatchException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnknownWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1C8D8B14-4589-3DCA-8E0F-A30E80FBD1A8}
// *********************************************************************//
interface _UnknownWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IExpando
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {AFBF15E6-C37C-11D2-B88E-00A0C9B471B8}
// *********************************************************************//
interface IExpando  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE AddField(BSTR name/*[in]*/, 
                                             Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AddProperty(BSTR name/*[in]*/, 
                                                Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AddMethod(BSTR name/*[in]*/, 
                                              Mscorlib_tlb::_DelegatePtr Method/*[in]*/, 
                                              Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE RemoveMember(Mscorlib_tlb::_MemberInfoPtr m/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_FieldInfoPtr __fastcall AddField(BSTR name/*[in]*/)
  {
    Mscorlib_tlb::_FieldInfoPtr pRetVal;
    OLECHECK(this->AddField(name, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_PropertyInfoPtr __fastcall AddProperty(BSTR name/*[in]*/)
  {
    Mscorlib_tlb::_PropertyInfoPtr pRetVal;
    OLECHECK(this->AddProperty(name, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodInfoPtr __fastcall AddMethod(BSTR name/*[in]*/, 
                                                    Mscorlib_tlb::_DelegatePtr Method/*[in]*/)
  {
    Mscorlib_tlb::_MethodInfoPtr pRetVal;
    OLECHECK(this->AddMethod(name, Method, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Stream
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2752364A-924F-3603-8F6F-6586DF98B292}
// *********************************************************************//
interface _Stream  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BinaryReader
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {442E3C03-A205-3F21-AA4D-31768BB8EA28}
// *********************************************************************//
interface _BinaryReader  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BinaryWriter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4CA8147E-BAA3-3A7F-92CE-A4FD7F17D8DA}
// *********************************************************************//
interface _BinaryWriter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BufferedStream
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4B7571C3-1275-3457-8FEE-9976FD3937E3}
// *********************************************************************//
interface _BufferedStream  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Directory
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8CE58FF5-F26D-38A4-9195-0E2ECB3B56B9}
// *********************************************************************//
interface _Directory  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileSystemInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A5D29A57-36A8-3E36-A099-7458B1FABAA2}
// *********************************************************************//
interface _FileSystemInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DirectoryInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {487E52F1-2BB9-3BD0-A0CA-6728B3A1D051}
// *********************************************************************//
interface _DirectoryInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IOException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C5BFC9BF-27A7-3A59-A986-44C85F3521BF}
// *********************************************************************//
interface _IOException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DirectoryNotFoundException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C8A200E4-9735-30E4-B168-ED861A3020F2}
// *********************************************************************//
interface _DirectoryNotFoundException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DriveInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CE83A763-940F-341F-B880-332325EB6F4B}
// *********************************************************************//
interface _DriveInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DriveNotFoundException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B24E9559-A662-3762-AE33-BC7DFDD538F4}
// *********************************************************************//
interface _DriveNotFoundException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EndOfStreamException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D625AFD0-8FD9-3113-A900-43912A54C421}
// *********************************************************************//
interface _EndOfStreamException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _File
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5D59051F-E19D-329A-9962-FD00D552E13D}
// *********************************************************************//
interface _File  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C3C429F9-8590-3A01-B2B2-434837F3D16D}
// *********************************************************************//
interface _FileInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileLoadException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {51D2C393-9B70-3551-84B5-FF5409FB3ADA}
// *********************************************************************//
interface _FileLoadException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileNotFoundException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A15A976B-81E3-3EF4-8FF1-D75DDBE20AEF}
// *********************************************************************//
interface _FileNotFoundException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileStream
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {74265195-4A46-3D6F-A9DD-69C367EA39C8}
// *********************************************************************//
interface _FileStream  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MemoryStream
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2DBC46FE-B3DD-3858-AFC2-D3A2D492A588}
// *********************************************************************//
interface _MemoryStream  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Path
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6DF93530-D276-31D9-8573-346778C650AF}
// *********************************************************************//
interface _Path  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PathTooLongException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {468B8EB4-89AC-381B-8F86-5E47EC0648B4}
// *********************************************************************//
interface _PathTooLongException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TextReader
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {897471F2-9450-3F03-A41F-D2E1F1397854}
// *********************************************************************//
interface _TextReader  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StreamReader
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E645B470-DC3F-3CE0-8104-5837FEDA04B3}
// *********************************************************************//
interface _StreamReader  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TextWriter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {556137EA-8825-30BC-9D49-E47A9DB034EE}
// *********************************************************************//
interface _TextWriter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StreamWriter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1F124E1C-D05D-3643-A59F-C3DE6051994F}
// *********************************************************************//
interface _StreamWriter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StringReader
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {59733B03-0EA5-358C-95B5-659FCD9AA0B4}
// *********************************************************************//
interface _StringReader  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StringWriter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CB9F94C0-D691-3B62-B0B2-3CE5309CFA62}
// *********************************************************************//
interface _StringWriter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AccessedThroughPropertyAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {998DCF16-F603-355D-8C89-3B675947997F}
// *********************************************************************//
interface _AccessedThroughPropertyAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CallConvCdecl
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A6C2239B-08E6-3822-9769-E3D4B0431B82}
// *********************************************************************//
interface _CallConvCdecl  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CallConvStdcall
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8E17A5CD-1160-32DC-8548-407E7C3827C9}
// *********************************************************************//
interface _CallConvStdcall  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CallConvThiscall
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FA73DD3D-A472-35ED-B8BE-F99A13581F72}
// *********************************************************************//
interface _CallConvThiscall  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CallConvFastcall
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3B452D17-3C5E-36C4-A12D-5E9276036CF8}
// *********************************************************************//
interface _CallConvFastcall  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CustomConstantAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {62CAF4A2-6A78-3FC7-AF81-A6BBF930761F}
// *********************************************************************//
interface _CustomConstantAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DateTimeConstantAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EF387020-B664-3ACD-A1D2-806345845953}
// *********************************************************************//
interface _DateTimeConstantAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DiscardableAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3C3A8C69-7417-32FA-AA20-762D85E1B594}
// *********************************************************************//
interface _DiscardableAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DecimalConstantAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7E133967-CCEC-3E89-8BD2-6CFCA649ECBF}
// *********************************************************************//
interface _DecimalConstantAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CompilationRelaxationsAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C5C4F625-2329-3382-8994-AAF561E5DFE9}
// *********************************************************************//
interface _CompilationRelaxationsAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CompilerGlobalScopeAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1EED213E-656A-3A73-A4B9-0D3B26FD942B}
// *********************************************************************//
interface _CompilerGlobalScopeAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IndexerNameAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {243368F5-67C9-3510-9424-335A8A67772F}
// *********************************************************************//
interface _IndexerNameAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsVolatile
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0278C819-0C06-3756-B053-601A3E566D9B}
// *********************************************************************//
interface _IsVolatile  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodImplAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {98966503-5D80-3242-83EF-79E136F6B954}
// *********************************************************************//
interface _MethodImplAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RequiredAttributeAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DB2C11D9-3870-35E7-A10C-A3DDC3DC79B1}
// *********************************************************************//
interface _RequiredAttributeAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsCopyConstructed
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F68A4008-AB94-3370-A9AC-8CC99939F534}
// *********************************************************************//
interface _IsCopyConstructed  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NativeCppClassAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {40E8E914-DC23-38A6-936B-90E4E3AB01FA}
// *********************************************************************//
interface _NativeCppClassAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IDispatchConstantAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {97D0B28A-6932-3D74-B67F-6BCD3C921E7D}
// *********************************************************************//
interface _IDispatchConstantAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IUnknownConstantAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {54542649-CE64-3F96-BCE5-FDE3BB22F242}
// *********************************************************************//
interface _IUnknownConstantAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SecurityElement
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8D597C42-2CFD-32B6-B6D6-86C9E2CFF00A}
// *********************************************************************//
interface _SecurityElement  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _XmlSyntaxException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D9FCAD88-D869-3788-A802-1B1E007C7A22}
// *********************************************************************//
interface _XmlSyntaxException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IPermission
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {A19B3FC6-D680-3DD4-A17A-F58A7D481494}
// *********************************************************************//
interface IPermission  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Copy(Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Intersect(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                                              Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Union(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                                          Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsSubsetOf(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                                               TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Demand(void) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IPermissionPtr __fastcall Copy(void)
  {
    Mscorlib_tlb::IPermissionPtr pRetVal;
    OLECHECK(this->Copy((Mscorlib_tlb::IPermissionPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IPermissionPtr __fastcall Intersect(Mscorlib_tlb::IPermissionPtr Target/*[in]*/)
  {
    Mscorlib_tlb::IPermissionPtr pRetVal;
    OLECHECK(this->Intersect(Target, (Mscorlib_tlb::IPermissionPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IPermissionPtr __fastcall Union(Mscorlib_tlb::IPermissionPtr Target/*[in]*/)
  {
    Mscorlib_tlb::IPermissionPtr pRetVal;
    OLECHECK(this->Union(Target, (Mscorlib_tlb::IPermissionPtr*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall IsSubsetOf(Mscorlib_tlb::IPermissionPtr Target/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsSubsetOf(Target, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IStackWalk
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {60FC57B0-4A46-32A0-A5B4-B05B0DE8E781}
// *********************************************************************//
interface IStackWalk  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Assert(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Demand(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Deny(void) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE PermitOnly(void) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CodeAccessPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4803CE39-2F30-31FC-B84B-5A0141385269}
// *********************************************************************//
interface _CodeAccessPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IUnrestrictedPermission
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {0F1284E6-4399-3963-8DDD-A6A4904F66C8}
// *********************************************************************//
interface IUnrestrictedPermission  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE IsUnrestricted(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall IsUnrestricted(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsUnrestricted((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EnvironmentPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0720590D-5218-352A-A337-5449E6BD19DA}
// *********************************************************************//
interface _EnvironmentPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileDialogPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A8B7138C-8932-3D78-A585-A91569C743AC}
// *********************************************************************//
interface _FileDialogPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileIOPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A2ED7EFC-8E59-3CCC-AE92-EA2377F4D5EF}
// *********************************************************************//
interface _FileIOPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SecurityAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {48815668-6C27-3312-803E-2757F55CE96A}
// *********************************************************************//
interface _SecurityAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CodeAccessSecurityAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9C5149CB-D3C6-32FD-A0D5-95350DE7B813}
// *********************************************************************//
interface _CodeAccessSecurityAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HostProtectionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9F8F73A3-1E99-3E51-A41B-179A41DC747C}
// *********************************************************************//
interface _HostProtectionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStoragePermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7FEE7903-F97C-3350-AD42-196B00AD2564}
// *********************************************************************//
interface _IsolatedStoragePermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStorageFilePermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0D0C83E8-BDE1-3BA5-B1EF-A8FC686D8BC9}
// *********************************************************************//
interface _IsolatedStorageFilePermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EnvironmentPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4164071A-ED12-3BDD-AF40-FDABCAA77D5F}
// *********************************************************************//
interface _EnvironmentPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileDialogPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0CCCA629-440F-313E-96CD-BA1B4B4997F7}
// *********************************************************************//
interface _FileDialogPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FileIOPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0DCA817D-F21A-3943-B54C-5E800CE5BC50}
// *********************************************************************//
interface _FileIOPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeyContainerPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EDB51D1C-08AD-346A-BE6F-D74FD6D6F965}
// *********************************************************************//
interface _KeyContainerPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PrincipalPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {68AB69E4-5D68-3B51-B74D-1BEAB9F37F2B}
// *********************************************************************//
interface _PrincipalPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ReflectionPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D31EED10-A5F0-308F-A951-E557961EC568}
// *********************************************************************//
interface _ReflectionPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RegistryPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {38B6068C-1E94-3119-8841-1ECA35ED8578}
// *********************************************************************//
interface _RegistryPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SecurityPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3A5B876C-CDE4-32D2-9C7E-020A14ACA332}
// *********************************************************************//
interface _SecurityPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UIPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1D5C0F70-AF29-38A3-9436-3070A310C73B}
// *********************************************************************//
interface _UIPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ZoneIdentityPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2E3BE3ED-2F22-3B20-9F92-BD29B79D6F42}
// *********************************************************************//
interface _ZoneIdentityPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StrongNameIdentityPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C9A740F4-26E9-39A8-8885-8CA26BD79B21}
// *********************************************************************//
interface _StrongNameIdentityPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SiteIdentityPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6FE6894A-2A53-3FB6-A06E-348F9BDAD23B}
// *********************************************************************//
interface _SiteIdentityPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UrlIdentityPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CA4A2073-48C5-3E61-8349-11701A90DD9B}
// *********************************************************************//
interface _UrlIdentityPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PublisherIdentityPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6722C730-1239-3784-AC94-C285AE5B901A}
// *********************************************************************//
interface _PublisherIdentityPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStoragePermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5C4C522F-DE4E-3595-9AA9-9319C86A5283}
// *********************************************************************//
interface _IsolatedStoragePermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStorageFilePermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6F1F8AAE-D667-39CC-98FA-722BEBBBEAC3}
// *********************************************************************//
interface _IsolatedStorageFilePermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PermissionSetAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {947A1995-BC16-3E7C-B65A-99E71F39C091}
// *********************************************************************//
interface _PermissionSetAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ReflectionPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AEB3727F-5C3A-34C4-BF18-A38F088AC8C7}
// *********************************************************************//
interface _ReflectionPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PrincipalPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7C6B06D1-63AD-35EF-A938-149B4AD9A71F}
// *********************************************************************//
interface _PrincipalPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SecurityPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {33C54A2D-02BD-3848-80B6-742D537085E5}
// *********************************************************************//
interface _SecurityPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SiteIdentityPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {790B3EE9-7E06-3CD0-8243-5848486D6A78}
// *********************************************************************//
interface _SiteIdentityPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StrongNameIdentityPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5F1562FB-0160-3655-BAEA-B15BEF609161}
// *********************************************************************//
interface _StrongNameIdentityPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _StrongNamePublicKeyBlob
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AF53D21A-D6AF-3406-B399-7DF9D2AAD48A}
// *********************************************************************//
interface _StrongNamePublicKeyBlob  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UIPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {47698389-F182-3A67-87DF-AED490E14DC6}
// *********************************************************************//
interface _UIPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UrlIdentityPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EC7CAC31-08A2-393B-BDF2-D052EB53AF2C}
// *********************************************************************//
interface _UrlIdentityPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ZoneIdentityPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {38B2F8D7-8CF4-323B-9C17-9C55EE287A63}
// *********************************************************************//
interface _ZoneIdentityPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GacIdentityPermissionAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5F19E082-26F8-3361-B338-9BACB98809A4}
// *********************************************************************//
interface _GacIdentityPermissionAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GacIdentityPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A9637792-5BE8-3C93-A501-49F0E840DE38}
// *********************************************************************//
interface _GacIdentityPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeyContainerPermissionAccessEntry
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {094351EA-DBC1-327F-8A83-913B593A66BE}
// *********************************************************************//
interface _KeyContainerPermissionAccessEntry  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeyContainerPermissionAccessEntryCollection
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {28ECF94E-3510-3A3E-8BD1-F866F45F3B06}
// *********************************************************************//
interface _KeyContainerPermissionAccessEntryCollection  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeyContainerPermissionAccessEntryEnumerator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {293187EA-5F88-316F-86A5-533B0C7B353F}
// *********************************************************************//
interface _KeyContainerPermissionAccessEntryEnumerator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeyContainerPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {107A3CF1-B35E-3A23-B660-60264B231225}
// *********************************************************************//
interface _KeyContainerPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PublisherIdentityPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E86CC74A-1233-3DF3-B13F-8B27EEAAC1F6}
// *********************************************************************//
interface _PublisherIdentityPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RegistryPermission
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C3FB5510-3454-3B31-B64F-DE6AAD6BE820}
// *********************************************************************//
interface _RegistryPermission  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SuppressUnmanagedCodeSecurityAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8000E51A-541C-3B20-A8EC-C8A8B41116C4}
// *********************************************************************//
interface _SuppressUnmanagedCodeSecurityAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnverifiableCodeAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {41F41C1B-7B8D-39A3-A28F-AAE20787F469}
// *********************************************************************//
interface _UnverifiableCodeAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AllowPartiallyTrustedCallersAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F1C930C4-2233-3924-9840-231D008259B4}
// *********************************************************************//
interface _AllowPartiallyTrustedCallersAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HostSecurityManager
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9DEAE196-48C1-3590-9D0A-33716A214ACD}
// *********************************************************************//
interface _HostSecurityManager  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PermissionSet
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C2AF4970-4FB6-319C-A8AA-0614D27F2B2C}
// *********************************************************************//
interface _PermissionSet  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _NamedPermissionSet
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BA3E053F-ADE3-3233-874A-16E624C9A49B}
// *********************************************************************//
interface _NamedPermissionSet  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SecurityException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F174290F-E4CF-3976-88AA-4F8E32EB03DB}
// *********************************************************************//
interface _SecurityException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HostProtectionException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {ED727A9B-6FC5-3FED-BEDD-7B66C847F87A}
// *********************************************************************//
interface _HostProtectionException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SecurityManager
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {ABC04B16-5539-3C7E-92EC-0905A4A24464}
// *********************************************************************//
interface _SecurityManager  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _VerificationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F65070DF-57AF-3AE3-B951-D2AD7D513347}
// *********************************************************************//
interface _VerificationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContextAttribute
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {4A68BAA3-27AA-314A-BDBB-6AE9BDFC0420}
// *********************************************************************//
interface IContextAttribute  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE IsContextOK(Mscorlib_tlb::_ContextPtr ctx/*[in]*/, 
                                                Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                                TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetPropertiesForNewContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall IsContextOK(Mscorlib_tlb::_ContextPtr ctx/*[in]*/, 
                                  Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsContextOK(ctx, msg, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContextProperty
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {F01D896D-8D5F-3235-BE59-20E1E10DC22A}
// *********************************************************************//
interface IContextProperty  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE IsNewContextOK(Mscorlib_tlb::_ContextPtr newCtx/*[in]*/, 
                                                   TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Freeze(Mscorlib_tlb::_ContextPtr newContext/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_name(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_name((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall IsNewContextOK(Mscorlib_tlb::_ContextPtr newCtx/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsNewContextOK(newCtx, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            name = {read = get_name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ContextAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F042505B-7AAC-313B-A8C7-3F1AC949C311}
// *********************************************************************//
interface _ContextAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IActivator
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {C02BBB79-5AA8-390D-927F-717B7BFF06A1}
// *********************************************************************//
interface IActivator  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_NextActivator(Mscorlib_tlb::IActivatorPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE _set_NextActivator(Mscorlib_tlb::IActivatorPtr pRetVal/*[in]*/) = 0; // [1610743808]
  virtual HRESULT STDMETHODCALLTYPE Activate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                             Mscorlib_tlb::IConstructionReturnMessagePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_level(Mscorlib_tlb::ActivatorLevel* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IActivatorPtr __fastcall get_NextActivator(void)
  {
    Mscorlib_tlb::IActivatorPtr pRetVal;
    OLECHECK(this->get_NextActivator((Mscorlib_tlb::IActivatorPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IConstructionReturnMessagePtr __fastcall Activate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
  {
    Mscorlib_tlb::IConstructionReturnMessagePtr pRetVal;
    OLECHECK(this->Activate(msg, (Mscorlib_tlb::IConstructionReturnMessagePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::ActivatorLevel __fastcall get_level(void)
  {
    Mscorlib_tlb::ActivatorLevel pRetVal;
    OLECHECK(this->get_level((Mscorlib_tlb::ActivatorLevel*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IActivatorPtr NextActivator = {read = get_NextActivator, write = _set_NextActivator};
  __property   Mscorlib_tlb::ActivatorLevel level = {read = get_level};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IMessageSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {941F8AAA-A353-3B1D-A019-12E44377F1CD}
// *********************************************************************//
interface IMessageSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE SyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                       Mscorlib_tlb::IMessagePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AsyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                        Mscorlib_tlb::IMessageSinkPtr replySink/*[in]*/, 
                                                        Mscorlib_tlb::IMessageCtrlPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_NextSink(Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IMessagePtr __fastcall SyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/)
  {
    Mscorlib_tlb::IMessagePtr pRetVal;
    OLECHECK(this->SyncProcessMessage(msg, (Mscorlib_tlb::IMessagePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IMessageCtrlPtr __fastcall AsyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                               Mscorlib_tlb::IMessageSinkPtr replySink/*[in]*/)
  {
    Mscorlib_tlb::IMessageCtrlPtr pRetVal;
    OLECHECK(this->AsyncProcessMessage(msg, replySink, (Mscorlib_tlb::IMessageCtrlPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IMessageSinkPtr __fastcall get_NextSink(void)
  {
    Mscorlib_tlb::IMessageSinkPtr pRetVal;
    OLECHECK(this->get_NextSink((Mscorlib_tlb::IMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IMessageSinkPtr NextSink = {read = get_NextSink};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AsyncResult
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3936ABE1-B29E-3593-83F1-793D1A7F3898}
// *********************************************************************//
interface _AsyncResult  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CallContext
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {53BCE4D4-6209-396D-BD4A-0B0A0A177DF9}
// *********************************************************************//
interface _CallContext  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ILogicalThreadAffinative
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {4D125449-BA27-3927-8589-3E1B34B622E5}
// *********************************************************************//
interface ILogicalThreadAffinative  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _LogicalCallContext
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9AFF21F5-1C9C-35E7-AEA4-C3AA0BEB3B77}
// *********************************************************************//
interface _LogicalCallContext  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ChannelServices
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FFB2E16E-E5C7-367C-B326-965ABF510F24}
// *********************************************************************//
interface _ChannelServices  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IClientResponseChannelSinkStack
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {3AFAB213-F5A2-3241-93BA-329EA4BA8016}
// *********************************************************************//
interface IClientResponseChannelSinkStack  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE AsyncProcessResponse(Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                         Mscorlib_tlb::_StreamPtr Stream/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DispatchReplyMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DispatchException(Mscorlib_tlb::_ExceptionPtr e/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IClientChannelSinkStack
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {3A5FDE6B-DB46-34E8-BACD-16EA5A440540}
// *********************************************************************//
interface IClientChannelSinkStack  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Push(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/, 
                                         TVariantInParam state/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Pop(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/, 
                                        TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall Pop(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->Pop(sink, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ClientChannelSinkStack
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E1796120-C324-30D8-86F4-20086711463B}
// *********************************************************************//
interface _ClientChannelSinkStack  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IServerResponseChannelSinkStack
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {9BE679A6-61FD-38FC-A7B2-89982D33338B}
// *********************************************************************//
interface IServerResponseChannelSinkStack  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE AsyncProcessResponse(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                         Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                         Mscorlib_tlb::_StreamPtr Stream/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetResponseStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                      Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                      Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_StreamPtr __fastcall GetResponseStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                        Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/)
  {
    Mscorlib_tlb::_StreamPtr pRetVal;
    OLECHECK(this->GetResponseStream(msg, headers, (Mscorlib_tlb::_StreamPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IServerChannelSinkStack
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {E694A733-768D-314D-B317-DCEAD136B11D}
// *********************************************************************//
interface IServerChannelSinkStack  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Push(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                         TVariantInParam state/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Pop(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                        TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Store(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                          TVariantInParam state/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE StoreAndDispatch(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                                     TVariantInParam state/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ServerCallback(Mscorlib_tlb::IAsyncResultPtr ar/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall Pop(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->Pop(sink, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ServerChannelSinkStack
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {52DA9F90-89B3-35AB-907B-3562642967DE}
// *********************************************************************//
interface _ServerChannelSinkStack  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISponsor
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {675591AF-0508-3131-A7CC-287D265CA7D6}
// *********************************************************************//
interface ISponsor  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Renewal(Mscorlib_tlb::ILeasePtr lease/*[in]*/, 
                                            Mscorlib_tlb::TimeSpan* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::TimeSpan __fastcall Renewal(Mscorlib_tlb::ILeasePtr lease/*[in]*/)
  {
    Mscorlib_tlb::TimeSpan pRetVal;
    OLECHECK(this->Renewal(lease, (Mscorlib_tlb::TimeSpan*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ClientSponsor
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FF19D114-3BDA-30AC-8E89-36CA64A87120}
// *********************************************************************//
interface _ClientSponsor  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CrossContextDelegate
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EE949B7B-439F-363E-B9FC-34DB1FB781D7}
// *********************************************************************//
interface _CrossContextDelegate  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Context
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {11A2EA7A-D600-307B-A606-511A6C7950D1}
// *********************************************************************//
interface _Context  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ContextProperty
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4ACB3495-05DB-381B-890A-D12F5340DCA3}
// *********************************************************************//
interface _ContextProperty  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContextPropertyActivator
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {7197B56B-5FA1-31EF-B38B-62FEE737277F}
// *********************************************************************//
interface IContextPropertyActivator  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE IsOKToActivate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                                   TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CollectFromClientContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DeliverClientContextToServerContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                                                        TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CollectFromServerContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DeliverServerContextToClientContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/, 
                                                                        TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TOLEBOOL __fastcall IsOKToActivate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->IsOKToActivate(msg, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall DeliverClientContextToServerContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->DeliverClientContextToServerContext(msg, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall DeliverServerContextToClientContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->DeliverServerContextToClientContext(msg, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IChannel
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {563581E8-C86D-39E2-B2E8-6C23F7987A4B}
// *********************************************************************//
interface IChannel  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ChannelPriority(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ChannelName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Parse(BSTR Url/*[in]*/, BSTR* objectURI/*[out]*/, 
                                          BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall get_ChannelPriority(void)
  {
    long pRetVal;
    OLECHECK(this->get_ChannelPriority((long*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_ChannelName(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ChannelName((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall Parse(BSTR Url/*[in]*/, BSTR* objectURI/*[out]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->Parse(Url, objectURI, (BSTR*)&pRetVal));
    return pRetVal;
  }


  __property   long            ChannelPriority = {read = get_ChannelPriority};
  __property   BSTR            ChannelName = {read = get_ChannelName};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IChannelSender
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {10F1D605-E201-3145-B7AE-3AD746701986}
// *********************************************************************//
interface IChannelSender  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE CreateMessageSink(BSTR Url/*[in]*/, 
                                                      TVariantInParam remoteChannelData/*[in]*/, 
                                                      BSTR* objectURI/*[out]*/, 
                                                      Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IMessageSinkPtr __fastcall CreateMessageSink(BSTR Url/*[in]*/, 
                                                             TVariantInParam remoteChannelData/*[in]*/, 
                                                             BSTR* objectURI/*[out]*/)
  {
    Mscorlib_tlb::IMessageSinkPtr pRetVal;
    OLECHECK(this->CreateMessageSink(Url, remoteChannelData, objectURI, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IChannelReceiver
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {48AD41DA-0872-31DA-9887-F81F213527E6}
// *********************************************************************//
interface IChannelReceiver  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ChannelData(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetUrlsForUri(BSTR objectURI/*[in]*/, 
                                                  LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE StartListening(TVariantInParam data/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE StopListening(TVariantInParam data/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall get_ChannelData(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_ChannelData((TVariant*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall GetUrlsForUri(BSTR objectURI/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->GetUrlsForUri(objectURI, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IServerChannelSinkProvider
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {7DD6E975-24EA-323C-A98C-0FDE96F9C4E6}
// *********************************************************************//
interface IServerChannelSinkProvider  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetChannelData(Mscorlib_tlb::IChannelDataStorePtr ChannelData/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateSink(Mscorlib_tlb::IChannelReceiverPtr channel/*[in]*/, 
                                               Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Mscorlib_tlb::IServerChannelSinkProviderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE _set_Next(Mscorlib_tlb::IServerChannelSinkProviderPtr pRetVal/*[in]*/) = 0; // [1610743810]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IServerChannelSinkPtr __fastcall CreateSink(Mscorlib_tlb::IChannelReceiverPtr channel/*[in]*/)
  {
    Mscorlib_tlb::IServerChannelSinkPtr pRetVal;
    OLECHECK(this->CreateSink(channel, (Mscorlib_tlb::IServerChannelSinkPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IServerChannelSinkProviderPtr __fastcall get_Next(void)
  {
    Mscorlib_tlb::IServerChannelSinkProviderPtr pRetVal;
    OLECHECK(this->get_Next((Mscorlib_tlb::IServerChannelSinkProviderPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IServerChannelSinkProviderPtr Next = {read = get_Next, write = _set_Next};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IChannelSinkBase
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {308DE042-ACC8-32F8-B632-7CB9799D9AA6}
// *********************************************************************//
interface IChannelSinkBase  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Properties(Mscorlib_tlb::IDictionaryPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IDictionaryPtr __fastcall get_Properties(void)
  {
    Mscorlib_tlb::IDictionaryPtr pRetVal;
    OLECHECK(this->get_Properties((Mscorlib_tlb::IDictionaryPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IDictionaryPtr Properties = {read = get_Properties};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IServerChannelSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {21B5F37B-BEF3-354C-8F84-0F9F0863F5C5}
// *********************************************************************//
interface IServerChannelSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE ProcessMessage(Mscorlib_tlb::IServerChannelSinkStackPtr sinkStack/*[in]*/, 
                                                   Mscorlib_tlb::IMessagePtr requestMsg/*[in]*/, 
                                                   Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/, 
                                                   Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                                   Mscorlib_tlb::IMessagePtr* responseMsg/*[out]*/, 
                                                   Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/, 
                                                   Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/, 
                                                   Mscorlib_tlb::ServerProcessing* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AsyncProcessResponse(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/, 
                                                         TVariantInParam state/*[in]*/, 
                                                         Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                         Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                         Mscorlib_tlb::_StreamPtr Stream/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetResponseStream(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/, 
                                                      TVariantInParam state/*[in]*/, 
                                                      Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                      Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                      Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_NextChannelSink(Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::ServerProcessing __fastcall ProcessMessage(Mscorlib_tlb::IServerChannelSinkStackPtr sinkStack/*[in]*/, 
                                                           Mscorlib_tlb::IMessagePtr requestMsg/*[in]*/, 
                                                           Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/, 
                                                           Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                                           Mscorlib_tlb::IMessagePtr* responseMsg/*[out]*/, 
                                                           Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/, 
                                                           Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/)
  {
    Mscorlib_tlb::ServerProcessing pRetVal;
    OLECHECK(this->ProcessMessage(sinkStack, requestMsg, requestHeaders, requestStream, responseMsg, 
                                  responseHeaders, responseStream, (Mscorlib_tlb::ServerProcessing*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_StreamPtr __fastcall GetResponseStream(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/, 
                                                        TVariantInParam state/*[in]*/, 
                                                        Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                        Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/)
  {
    Mscorlib_tlb::_StreamPtr pRetVal;
    OLECHECK(this->GetResponseStream(sinkStack, state, msg, headers, (Mscorlib_tlb::_StreamPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IServerChannelSinkPtr __fastcall get_NextChannelSink(void)
  {
    Mscorlib_tlb::IServerChannelSinkPtr pRetVal;
    OLECHECK(this->get_NextChannelSink((Mscorlib_tlb::IServerChannelSinkPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IServerChannelSinkPtr NextChannelSink = {read = get_NextChannelSink};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _EnterpriseServicesHelper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {77C9BCEB-9958-33C0-A858-599F66697DA7}
// *********************************************************************//
interface _EnterpriseServicesHelper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Header
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0D296515-AD19-3602-B415-D8EC77066081}
// *********************************************************************//
interface _Header  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HeaderHandler
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5DBBAF39-A3DF-30B7-AAEA-9FD11394123F}
// *********************************************************************//
interface _HeaderHandler  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IMessage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {1A8B0DE6-B825-38C5-B744-8F93075FD6FA}
// *********************************************************************//
interface IMessage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Properties(Mscorlib_tlb::IDictionaryPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IDictionaryPtr __fastcall get_Properties(void)
  {
    Mscorlib_tlb::IDictionaryPtr pRetVal;
    OLECHECK(this->get_Properties((Mscorlib_tlb::IDictionaryPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IDictionaryPtr Properties = {read = get_Properties};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IMethodMessage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {8E5E0B95-750E-310D-892C-8CA7231CF75B}
// *********************************************************************//
interface IMethodMessage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Uri(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MethodName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_typeName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MethodSignature(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ArgCount(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_args(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_HasVarArgs(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_LogicalCallContext(Mscorlib_tlb::_LogicalCallContextPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_MethodBase(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_Uri(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_Uri((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_MethodName(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_MethodName((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_typeName(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_typeName((BSTR*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_MethodSignature(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_MethodSignature((TVariant*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_ArgCount(void)
  {
    long pRetVal;
    OLECHECK(this->get_ArgCount((long*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall GetArgName(long index/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->GetArgName(index, (BSTR*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall GetArg(long argNum/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->GetArg(argNum, (TVariant*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_args(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_args((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_HasVarArgs(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_HasVarArgs((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_LogicalCallContextPtr __fastcall get_LogicalCallContext(void)
  {
    Mscorlib_tlb::_LogicalCallContextPtr pRetVal;
    OLECHECK(this->get_LogicalCallContext((Mscorlib_tlb::_LogicalCallContextPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_MethodBasePtr __fastcall get_MethodBase(void)
  {
    Mscorlib_tlb::_MethodBasePtr pRetVal;
    OLECHECK(this->get_MethodBase((Mscorlib_tlb::_MethodBasePtr*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            Uri = {read = get_Uri};
  __property   BSTR            MethodName = {read = get_MethodName};
  __property   BSTR            typeName = {read = get_typeName};
  __property   long            ArgCount = {read = get_ArgCount};
  __property   TOLEBOOL        HasVarArgs = {read = get_HasVarArgs};
  __property   Mscorlib_tlb::_LogicalCallContextPtr LogicalCallContext = {read = get_LogicalCallContext};
  __property   Mscorlib_tlb::_MethodBasePtr MethodBase = {read = get_MethodBase};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IMethodCallMessage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {B90EFAA6-25E4-33D2-ACA3-94BF74DC4AB9}
// *********************************************************************//
interface IMethodCallMessage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_InArgCount(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetInArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetInArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_InArgs(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall get_InArgCount(void)
  {
    long pRetVal;
    OLECHECK(this->get_InArgCount((long*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall GetInArgName(long index/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->GetInArgName(index, (BSTR*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall GetInArg(long argNum/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->GetInArg(argNum, (TVariant*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_InArgs(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_InArgs((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   long            InArgCount = {read = get_InArgCount};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IConstructionCallMessage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {FA28E3AF-7D09-31D5-BEEB-7F2626497CDE}
// *********************************************************************//
interface IConstructionCallMessage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Activator(Mscorlib_tlb::IActivatorPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE _set_Activator(Mscorlib_tlb::IActivatorPtr pRetVal/*[in]*/) = 0; // [1610743808]
  virtual HRESULT STDMETHODCALLTYPE get_CallSiteActivationAttributes(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ActivationTypeName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ActivationType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ContextProperties(Mscorlib_tlb::IListPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IActivatorPtr __fastcall get_Activator(void)
  {
    Mscorlib_tlb::IActivatorPtr pRetVal;
    OLECHECK(this->get_Activator((Mscorlib_tlb::IActivatorPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_CallSiteActivationAttributes(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_CallSiteActivationAttributes((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_ActivationTypeName(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ActivationTypeName((BSTR*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall get_ActivationType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->get_ActivationType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IListPtr __fastcall get_ContextProperties(void)
  {
    Mscorlib_tlb::IListPtr pRetVal;
    OLECHECK(this->get_ContextProperties((Mscorlib_tlb::IListPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IActivatorPtr Activator = {read = get_Activator, write = _set_Activator};
  __property   BSTR            ActivationTypeName = {read = get_ActivationTypeName};
  __property   Mscorlib_tlb::_TypePtr ActivationType = {read = get_ActivationType};
  __property   Mscorlib_tlb::IListPtr ContextProperties = {read = get_ContextProperties};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IMethodReturnMessage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {F617690A-55F4-36AF-9149-D199831F8594}
// *********************************************************************//
interface IMethodReturnMessage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_OutArgCount(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetOutArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetOutArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_OutArgs(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Exception(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ReturnValue(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall get_OutArgCount(void)
  {
    long pRetVal;
    OLECHECK(this->get_OutArgCount((long*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall GetOutArgName(long index/*[in]*/)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->GetOutArgName(index, (BSTR*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall GetOutArg(long argNum/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->GetOutArg(argNum, (TVariant*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_OutArgs(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_OutArgs((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ExceptionPtr __fastcall get_Exception(void)
  {
    Mscorlib_tlb::_ExceptionPtr pRetVal;
    OLECHECK(this->get_Exception((Mscorlib_tlb::_ExceptionPtr*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_ReturnValue(void)
  {
    TVariant pRetVal;
    OLECHECK(this->get_ReturnValue((TVariant*)&pRetVal));
    return pRetVal;
  }


  __property   long            OutArgCount = {read = get_OutArgCount};
  __property   Mscorlib_tlb::_ExceptionPtr Exception = {read = get_Exception};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IConstructionReturnMessage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {CA0AB564-F5E9-3A7F-A80B-EB0AEEFA44E9}
// *********************************************************************//
interface IConstructionReturnMessage  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IChannelReceiverHook
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {3A02D3F7-3F40-3022-853D-CFDA765182FE}
// *********************************************************************//
interface IChannelReceiverHook  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ChannelScheme(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_WantsToListen(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_ChannelSinkChain(Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AddHookChannelUri(BSTR channelUri/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ChannelScheme(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ChannelScheme((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_WantsToListen(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_WantsToListen((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IServerChannelSinkPtr __fastcall get_ChannelSinkChain(void)
  {
    Mscorlib_tlb::IServerChannelSinkPtr pRetVal;
    OLECHECK(this->get_ChannelSinkChain((Mscorlib_tlb::IServerChannelSinkPtr*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ChannelScheme = {read = get_ChannelScheme};
  __property   TOLEBOOL        WantsToListen = {read = get_WantsToListen};
  __property   Mscorlib_tlb::IServerChannelSinkPtr ChannelSinkChain = {read = get_ChannelSinkChain};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IClientChannelSinkProvider
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {3F8742C2-AC57-3440-A283-FE5FF4C75025}
// *********************************************************************//
interface IClientChannelSinkProvider  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE CreateSink(Mscorlib_tlb::IChannelSenderPtr channel/*[in]*/, 
                                               BSTR Url/*[in]*/, 
                                               TVariantInParam remoteChannelData/*[in]*/, 
                                               Mscorlib_tlb::IClientChannelSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Next(Mscorlib_tlb::IClientChannelSinkProviderPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE _set_Next(Mscorlib_tlb::IClientChannelSinkProviderPtr pRetVal/*[in]*/) = 0; // [1610743809]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IClientChannelSinkPtr __fastcall CreateSink(Mscorlib_tlb::IChannelSenderPtr channel/*[in]*/, 
                                                            BSTR Url/*[in]*/, 
                                                            TVariantInParam remoteChannelData/*[in]*/)
  {
    Mscorlib_tlb::IClientChannelSinkPtr pRetVal;
    OLECHECK(this->CreateSink(channel, Url, remoteChannelData, (Mscorlib_tlb::IClientChannelSinkPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IClientChannelSinkProviderPtr __fastcall get_Next(void)
  {
    Mscorlib_tlb::IClientChannelSinkProviderPtr pRetVal;
    OLECHECK(this->get_Next((Mscorlib_tlb::IClientChannelSinkProviderPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IClientChannelSinkProviderPtr Next = {read = get_Next, write = _set_Next};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IClientFormatterSinkProvider
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {6D94B6F3-DA91-3C2F-B876-083769667468}
// *********************************************************************//
interface IClientFormatterSinkProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IServerFormatterSinkProvider
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {042B5200-4317-3E4D-B653-7E9A08F1A5F2}
// *********************************************************************//
interface IServerFormatterSinkProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IClientChannelSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {FF726320-6B92-3E6C-AAAC-F97063D0B142}
// *********************************************************************//
interface IClientChannelSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE ProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                   Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/, 
                                                   Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                                   Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/, 
                                                   Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AsyncProcessRequest(Mscorlib_tlb::IClientChannelSinkStackPtr sinkStack/*[in]*/, 
                                                        Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                        Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                        Mscorlib_tlb::_StreamPtr Stream/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE AsyncProcessResponse(Mscorlib_tlb::IClientResponseChannelSinkStackPtr sinkStack/*[in]*/, 
                                                         TVariantInParam state/*[in]*/, 
                                                         Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                         Mscorlib_tlb::_StreamPtr Stream/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetRequestStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                     Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                     Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_NextChannelSink(Mscorlib_tlb::IClientChannelSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_StreamPtr __fastcall GetRequestStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                       Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/)
  {
    Mscorlib_tlb::_StreamPtr pRetVal;
    OLECHECK(this->GetRequestStream(msg, headers, (Mscorlib_tlb::_StreamPtr*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::IClientChannelSinkPtr __fastcall get_NextChannelSink(void)
  {
    Mscorlib_tlb::IClientChannelSinkPtr pRetVal;
    OLECHECK(this->get_NextChannelSink((Mscorlib_tlb::IClientChannelSinkPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IClientChannelSinkPtr NextChannelSink = {read = get_NextChannelSink};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IClientFormatterSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {46527C03-B144-3CF0-86B3-B8776148A6E9}
// *********************************************************************//
interface IClientFormatterSink  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IChannelDataStore
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {1E250CCD-DC30-3217-A7E4-148F375A0088}
// *********************************************************************//
interface IChannelDataStore  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ChannelUris(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_Item(TVariantInParam key/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE _set_Item(TVariantInParam key/*[in]*/, 
                                              TVariantInParam pRetVal/*[in]*/) = 0; // [0]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPSAFEARRAY __fastcall get_ChannelUris(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_ChannelUris((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall get_Item(TVariantInParam key/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->get_Item(key, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ChannelDataStore
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AA6DA581-F972-36DE-A53B-7585428A68AB}
// *********************************************************************//
interface _ChannelDataStore  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ITransportHeaders
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {1AC82FBE-4FF0-383C-BBFD-FE40ECB3628D}
// *********************************************************************//
interface ITransportHeaders  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_Item(TVariantInParam key/*[in]*/, 
                                             TVariant* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE _set_Item(TVariantInParam key/*[in]*/, 
                                              TVariantInParam pRetVal/*[in]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE GetEnumerator(IEnumVARIANTPtr* pRetVal/*[out,retval]*/) = 0; // [-4]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall get_Item(TVariantInParam key/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->get_Item(key, (TVariant*)&pRetVal));
    return pRetVal;
  }

  IEnumVARIANTPtr __fastcall GetEnumerator(void)
  {
    IEnumVARIANTPtr pRetVal;
    OLECHECK(this->GetEnumerator((IEnumVARIANTPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TransportHeaders
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {65887F70-C646-3A66-8697-8A3F7D8FE94D}
// *********************************************************************//
interface _TransportHeaders  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SinkProviderData
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A18545B7-E5EE-31EE-9B9B-41199B11C995}
// *********************************************************************//
interface _SinkProviderData  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BaseChannelObjectWithProperties
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A1329EC9-E567-369F-8258-18366D89EAF8}
// *********************************************************************//
interface _BaseChannelObjectWithProperties  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BaseChannelSinkWithProperties
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8AF3451E-154D-3D86-80D8-F8478B9733ED}
// *********************************************************************//
interface _BaseChannelSinkWithProperties  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BaseChannelWithProperties
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {94BB98ED-18BB-3843-A7FE-642824AB4E01}
// *********************************************************************//
interface _BaseChannelWithProperties  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContributeClientContextSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {4DB956B7-69D0-312A-AA75-44FB55FD5D4B}
// *********************************************************************//
interface IContributeClientContextSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetClientContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                                         Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IMessageSinkPtr __fastcall GetClientContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
  {
    Mscorlib_tlb::IMessageSinkPtr pRetVal;
    OLECHECK(this->GetClientContextSink(NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContributeDynamicSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {A0FE9B86-0C06-32CE-85FA-2FF1B58697FB}
// *********************************************************************//
interface IContributeDynamicSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetDynamicSink(Mscorlib_tlb::IDynamicMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IDynamicMessageSinkPtr __fastcall GetDynamicSink(void)
  {
    Mscorlib_tlb::IDynamicMessageSinkPtr pRetVal;
    OLECHECK(this->GetDynamicSink((Mscorlib_tlb::IDynamicMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContributeEnvoySink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {124777B6-0308-3569-97E5-E6FE88EAE4EB}
// *********************************************************************//
interface IContributeEnvoySink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetEnvoySink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                                 Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                                 Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IMessageSinkPtr __fastcall GetEnvoySink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                                        Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
  {
    Mscorlib_tlb::IMessageSinkPtr pRetVal;
    OLECHECK(this->GetEnvoySink(obj, NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContributeObjectSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {6A5D38BC-2789-3546-81A1-F10C0FB59366}
// *********************************************************************//
interface IContributeObjectSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetObjectSink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                                  Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                                  Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IMessageSinkPtr __fastcall GetObjectSink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                                         Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
  {
    Mscorlib_tlb::IMessageSinkPtr pRetVal;
    OLECHECK(this->GetObjectSink(obj, NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IContributeServerContextSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {0CAA23EC-F78C-39C9-8D25-B7A9CE4097A7}
// *********************************************************************//
interface IContributeServerContextSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetServerContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                                         Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IMessageSinkPtr __fastcall GetServerContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
  {
    Mscorlib_tlb::IMessageSinkPtr pRetVal;
    OLECHECK(this->GetServerContextSink(NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IDynamicProperty
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {00A358D4-4D58-3B9D-8FB6-FB7F6BC1713B}
// *********************************************************************//
interface IDynamicProperty  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_name(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_name(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_name((BSTR*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            name = {read = get_name};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IDynamicMessageSink
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {C74076BB-8A2D-3C20-A542-625329E9AF04}
// *********************************************************************//
interface IDynamicMessageSink  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE ProcessMessageStart(Mscorlib_tlb::IMessagePtr reqMsg/*[in]*/, 
                                                        TOLEBOOL bCliSide/*[in]*/, 
                                                        TOLEBOOL bAsync/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ProcessMessageFinish(Mscorlib_tlb::IMessagePtr replyMsg/*[in]*/, 
                                                         TOLEBOOL bCliSide/*[in]*/, 
                                                         TOLEBOOL bAsync/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ILease
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {53A561F2-CBBF-3748-BFFE-2180002DB3DF}
// *********************************************************************//
interface ILease  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Register(Mscorlib_tlb::ISponsorPtr obj/*[in]*/, 
                                             Mscorlib_tlb::TimeSpan renewalTime/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Register_2(Mscorlib_tlb::ISponsorPtr obj/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Unregister(Mscorlib_tlb::ISponsorPtr obj/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Renew(Mscorlib_tlb::TimeSpan renewalTime/*[in]*/, 
                                          Mscorlib_tlb::TimeSpan* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_RenewOnCallTime(Mscorlib_tlb::TimeSpan* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_RenewOnCallTime(Mscorlib_tlb::TimeSpan pRetVal/*[in]*/) = 0; // [1610743812]
  virtual HRESULT STDMETHODCALLTYPE get_SponsorshipTimeout(Mscorlib_tlb::TimeSpan* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_SponsorshipTimeout(Mscorlib_tlb::TimeSpan pRetVal/*[in]*/) = 0; // [1610743814]
  virtual HRESULT STDMETHODCALLTYPE get_InitialLeaseTime(Mscorlib_tlb::TimeSpan* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_InitialLeaseTime(Mscorlib_tlb::TimeSpan pRetVal/*[in]*/) = 0; // [1610743816]
  virtual HRESULT STDMETHODCALLTYPE get_CurrentLeaseTime(Mscorlib_tlb::TimeSpan* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CurrentState(Mscorlib_tlb::LeaseState* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::TimeSpan __fastcall Renew(Mscorlib_tlb::TimeSpan renewalTime/*[in]*/)
  {
    Mscorlib_tlb::TimeSpan pRetVal;
    OLECHECK(this->Renew(renewalTime, (Mscorlib_tlb::TimeSpan*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::TimeSpan __fastcall get_RenewOnCallTime(void)
  {
    Mscorlib_tlb::TimeSpan pRetVal;
    OLECHECK(this->get_RenewOnCallTime((Mscorlib_tlb::TimeSpan*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::TimeSpan __fastcall get_SponsorshipTimeout(void)
  {
    Mscorlib_tlb::TimeSpan pRetVal;
    OLECHECK(this->get_SponsorshipTimeout((Mscorlib_tlb::TimeSpan*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::TimeSpan __fastcall get_InitialLeaseTime(void)
  {
    Mscorlib_tlb::TimeSpan pRetVal;
    OLECHECK(this->get_InitialLeaseTime((Mscorlib_tlb::TimeSpan*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::TimeSpan __fastcall get_CurrentLeaseTime(void)
  {
    Mscorlib_tlb::TimeSpan pRetVal;
    OLECHECK(this->get_CurrentLeaseTime((Mscorlib_tlb::TimeSpan*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::LeaseState __fastcall get_CurrentState(void)
  {
    Mscorlib_tlb::LeaseState pRetVal;
    OLECHECK(this->get_CurrentState((Mscorlib_tlb::LeaseState*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::TimeSpan RenewOnCallTime = {read = get_RenewOnCallTime, write = set_RenewOnCallTime};
  __property   Mscorlib_tlb::TimeSpan SponsorshipTimeout = {read = get_SponsorshipTimeout, write = set_SponsorshipTimeout};
  __property   Mscorlib_tlb::TimeSpan InitialLeaseTime = {read = get_InitialLeaseTime, write = set_InitialLeaseTime};
  __property   Mscorlib_tlb::TimeSpan CurrentLeaseTime = {read = get_CurrentLeaseTime};
  __property   Mscorlib_tlb::LeaseState CurrentState = {read = get_CurrentState};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IMessageCtrl
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {3677CBB0-784D-3C15-BBC8-75CD7DC3901E}
// *********************************************************************//
interface IMessageCtrl  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Cancel(long msToCancel/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IRemotingFormatter
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {AE1850FD-3596-3727-A242-2FC31C5A0312}
// *********************************************************************//
interface IRemotingFormatter  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                                Mscorlib_tlb::_HeaderHandlerPtr handler/*[in]*/, 
                                                TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Serialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                              TVariantInParam graph/*[in]*/, 
                                              LPSAFEARRAY headers/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                  Mscorlib_tlb::_HeaderHandlerPtr handler/*[in]*/)
  {
    TVariant pRetVal;
    OLECHECK(this->Deserialize(serializationStream, handler, (TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _LifetimeServices
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B0AD9A21-5439-3D88-8975-4018B828D74C}
// *********************************************************************//
interface _LifetimeServices  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ReturnMessage
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0EEFF4C2-84BF-3E4E-BF22-B7BDBB5DF899}
// *********************************************************************//
interface _ReturnMessage  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodCall
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {95E01216-5467-371B-8597-4074402CCB06}
// *********************************************************************//
interface _MethodCall  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ConstructionCall
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A2246AE7-EB81-3A20-8E70-C9FA341C7E10}
// *********************************************************************//
interface _ConstructionCall  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodResponse
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9E9EA93A-D000-3AB9-BFCA-DDEB398A55B9}
// *********************************************************************//
interface _MethodResponse  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IFieldInfo
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {CC18FD4D-AA2D-3AB4-9848-584BBAE4AB44}
// *********************************************************************//
interface IFieldInfo  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_FieldNames(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_FieldNames(LPSAFEARRAY pRetVal/*[in]*/) = 0; // [1610743808]
  virtual HRESULT STDMETHODCALLTYPE get_FieldTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_FieldTypes(LPSAFEARRAY pRetVal/*[in]*/) = 0; // [1610743810]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPSAFEARRAY __fastcall get_FieldNames(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_FieldNames((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_FieldTypes(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_FieldTypes((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ConstructionResponse
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BE457280-6FFA-3E76-9822-83DE63C0C4E0}
// *********************************************************************//
interface _ConstructionResponse  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InternalMessageWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EF926E1F-3EE7-32BC-8B01-C6E98C24BC19}
// *********************************************************************//
interface _InternalMessageWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodCallMessageWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C9614D78-10EA-3310-87EA-821B70632898}
// *********************************************************************//
interface _MethodCallMessageWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MethodReturnMessageWrapper
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {89304439-A24F-30F6-9A8F-89CE472D85DA}
// *********************************************************************//
interface _MethodReturnMessageWrapper  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObjectHandle
// Indicateurs : (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID        : {EA675B47-64E0-3B5F-9BE7-F7DC2990730D}
// *********************************************************************//
interface _ObjectHandle  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ToString(BSTR* pRetVal/*[out,retval]*/) = 0; // [0]
  virtual HRESULT STDMETHODCALLTYPE Equals(TVariantInParam obj/*[in]*/, 
                                           TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetHashCode(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetLifetimeService(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/, 
                                                 Mscorlib_tlb::_ObjRefPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Unwrap(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_ToString(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_ToString((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall Equals(TVariantInParam obj/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall GetHashCode(void)
  {
    long pRetVal;
    OLECHECK(this->GetHashCode((long*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_TypePtr __fastcall GetType(void)
  {
    Mscorlib_tlb::_TypePtr pRetVal;
    OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall GetLifetimeService(void)
  {
    TVariant pRetVal;
    OLECHECK(this->GetLifetimeService((TVariant*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall InitializeLifetimeService(void)
  {
    TVariant pRetVal;
    OLECHECK(this->InitializeLifetimeService((TVariant*)&pRetVal));
    return pRetVal;
  }

  Mscorlib_tlb::_ObjRefPtr __fastcall CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/)
  {
    Mscorlib_tlb::_ObjRefPtr pRetVal;
    OLECHECK(this->CreateObjRef(requestedType, (Mscorlib_tlb::_ObjRefPtr*)&pRetVal));
    return pRetVal;
  }

  TVariant __fastcall Unwrap(void)
  {
    TVariant pRetVal;
    OLECHECK(this->Unwrap((TVariant*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            ToString = {read = get_ToString};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IRemotingTypeInfo
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {C09EFFA9-1FFE-3A52-A733-6236CBC45E7B}
// *********************************************************************//
interface IRemotingTypeInfo  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_typeName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_typeName(BSTR pRetVal/*[in]*/) = 0; // [1610743808]
  virtual HRESULT STDMETHODCALLTYPE CanCastTo(Mscorlib_tlb::_TypePtr fromType/*[in]*/, 
                                              TVariantInParam o/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall get_typeName(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_typeName((BSTR*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall CanCastTo(Mscorlib_tlb::_TypePtr fromType/*[in]*/, TVariantInParam o/*[in]*/)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->CanCastTo(fromType, o, (TOLEBOOL*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            typeName = {read = get_typeName, write = set_typeName};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IChannelInfo
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {855E6566-014A-3FE8-AA70-1EAC771E3A88}
// *********************************************************************//
interface IChannelInfo  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ChannelData(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ChannelData(LPSAFEARRAY pRetVal/*[in]*/) = 0; // [1610743808]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPSAFEARRAY __fastcall get_ChannelData(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_ChannelData((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : IEnvoyInfo
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {2A6E91B9-A874-38E4-99C2-C5D83D78140D}
// *********************************************************************//
interface IEnvoyInfo  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_EnvoySinks(Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE _set_EnvoySinks(Mscorlib_tlb::IMessageSinkPtr pRetVal/*[in]*/) = 0; // [1610743808]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::IMessageSinkPtr __fastcall get_EnvoySinks(void)
  {
    Mscorlib_tlb::IMessageSinkPtr pRetVal;
    OLECHECK(this->get_EnvoySinks((Mscorlib_tlb::IMessageSinkPtr*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::IMessageSinkPtr EnvoySinks = {read = get_EnvoySinks, write = _set_EnvoySinks};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ObjRef
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1DD3CF3D-DF8E-32FF-91EC-E19AA10B63FB}
// *********************************************************************//
interface _ObjRef  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OneWayAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8FFEDC68-5233-3FA8-813D-405AABB33ECB}
// *********************************************************************//
interface _OneWayAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ProxyAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D80FF312-2930-3680-A5E9-B48296C7415F}
// *********************************************************************//
interface _ProxyAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RealProxy
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E0CF3F77-C7C3-33DA-BEB4-46147FC905DE}
// *********************************************************************//
interface _RealProxy  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {725692A5-9E12-37F6-911C-E3DA77E5FACA}
// *********************************************************************//
interface _SoapAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapTypeAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EBCDCD84-8C74-39FD-821C-F5EB3A2704D7}
// *********************************************************************//
interface _SoapTypeAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapMethodAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C58145B5-BD5A-3896-95D9-B358F54FBC44}
// *********************************************************************//
interface _SoapMethodAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapFieldAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {46A3F9FF-F73C-33C7-BCC3-1BEF4B25E4AE}
// *********************************************************************//
interface _SoapFieldAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapParameterAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C32ABFC9-3917-30BF-A7BC-44250BDFC5D8}
// *********************************************************************//
interface _SoapParameterAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RemotingConfiguration
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4B10971E-D61D-373F-BC8D-2CCF31126215}
// *********************************************************************//
interface _RemotingConfiguration  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TypeEntry
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8359F3AB-643F-3BCF-91E8-16E779EDEBE1}
// *********************************************************************//
interface _TypeEntry  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ActivatedClientTypeEntry
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BAC12781-6865-3558-A8D1-F1CADD2806DD}
// *********************************************************************//
interface _ActivatedClientTypeEntry  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ActivatedServiceTypeEntry
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {94855A3B-5CA2-32CF-B1AB-48FD3915822C}
// *********************************************************************//
interface _ActivatedServiceTypeEntry  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WellKnownClientTypeEntry
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4D0BC339-E3F9-3E9E-8F68-92168E6F6981}
// *********************************************************************//
interface _WellKnownClientTypeEntry  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _WellKnownServiceTypeEntry
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {60B8B604-0AED-3093-AC05-EB98FB29FC47}
// *********************************************************************//
interface _WellKnownServiceTypeEntry  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RemotingException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7264843F-F60C-39A9-99E1-029126AA0815}
// *********************************************************************//
interface _RemotingException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ServerException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {19373C44-55B4-3487-9AD8-4C621AAE85EA}
// *********************************************************************//
interface _ServerException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RemotingTimeoutException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {44DB8E15-ACB1-34EE-81F9-56ED7AE37A5C}
// *********************************************************************//
interface _RemotingTimeoutException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RemotingServices
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7B91368D-A50A-3D36-BE8E-5B8836A419AD}
// *********************************************************************//
interface _RemotingServices  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InternalRemotingServices
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F4EFB305-CDC4-31C5-8102-33C9B91774F3}
// *********************************************************************//
interface _InternalRemotingServices  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MessageSurrogateFilter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {04A35D22-0B08-34E7-A573-88EF2374375E}
// *********************************************************************//
interface _MessageSurrogateFilter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RemotingSurrogateSelector
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {551F7A57-8651-37DB-A94A-6A3CA09C0ED7}
// *********************************************************************//
interface _RemotingSurrogateSelector  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapServices
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7416B6EE-82E8-3A16-966B-018A40E7B1AA}
// *********************************************************************//
interface _SoapServices  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISoapXsd
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {80031D2A-AD59-3FB4-97F3-B864D71DA86B}
// *********************************************************************//
interface ISoapXsd  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetXsdType(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  BSTR __fastcall GetXsdType(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->GetXsdType((BSTR*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapDateTime
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1738ADBC-156E-3897-844F-C3147C528DEA}
// *********************************************************************//
interface _SoapDateTime  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapDuration
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7EF50DDB-32A5-30A1-B412-47FAB911404A}
// *********************************************************************//
interface _SoapDuration  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapTime
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A3BF0BCD-EC32-38E6-92F2-5F37BAD8030D}
// *********************************************************************//
interface _SoapTime  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapDate
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {CFA6E9D2-B3DE-39A6-94D1-CC691DE193F8}
// *********************************************************************//
interface _SoapDate  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapYearMonth
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {103C7EF9-A9EE-35FB-84C5-3086C9725A20}
// *********************************************************************//
interface _SoapYearMonth  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapYear
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C20769F3-858D-316A-BE6D-C347A47948AD}
// *********************************************************************//
interface _SoapYear  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapMonthDay
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F9EAD0AA-4156-368F-AE05-FD59D70F758D}
// *********************************************************************//
interface _SoapMonthDay  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapDay
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D9E8314D-5053-3497-8A33-97D3DCFE33E2}
// *********************************************************************//
interface _SoapDay  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapMonth
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B4E32423-E473-3562-AA12-62FDE5A7D4A2}
// *********************************************************************//
interface _SoapMonth  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapHexBinary
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {63B9DA95-FB91-358A-B7B7-90C34AA34AB7}
// *********************************************************************//
interface _SoapHexBinary  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapBase64Binary
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8ED115A1-5E7B-34DC-AB85-90316F28015D}
// *********************************************************************//
interface _SoapBase64Binary  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapInteger
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {30C65C40-4E54-3051-9D8F-4709B6AB214C}
// *********************************************************************//
interface _SoapInteger  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapPositiveInteger
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4979EC29-C2B7-3AD6-986D-5AAF7344CC4E}
// *********************************************************************//
interface _SoapPositiveInteger  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNonPositiveInteger
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AAF5401E-F71C-3FE3-8A73-A25074B20D3A}
// *********************************************************************//
interface _SoapNonPositiveInteger  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNonNegativeInteger
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BC261FC6-7132-3FB5-9AAC-224845D3AA99}
// *********************************************************************//
interface _SoapNonNegativeInteger  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNegativeInteger
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E384AA10-A70C-3943-97CF-0F7C282C3BDC}
// *********************************************************************//
interface _SoapNegativeInteger  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapAnyUri
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {818EC118-BE7E-3CDE-92C8-44B99160920E}
// *********************************************************************//
interface _SoapAnyUri  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapQName
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3AC646B6-6B84-382F-9AED-22C2433244E6}
// *********************************************************************//
interface _SoapQName  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNotation
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {974F01F4-6086-3137-9448-6A31FC9BEF08}
// *********************************************************************//
interface _SoapNotation  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNormalizedString
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F4926B50-3F23-37E0-9AFA-AA91FF89A7BD}
// *********************************************************************//
interface _SoapNormalizedString  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapToken
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AB4E97B9-651D-36F4-AABA-28ACF5746624}
// *********************************************************************//
interface _SoapToken  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapLanguage
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {14AED851-A168-3462-B877-8F9A01126653}
// *********************************************************************//
interface _SoapLanguage  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapName
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5EB06BEF-4ADF-3CC1-A6F2-62F76886B13A}
// *********************************************************************//
interface _SoapName  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapIdrefs
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7947A829-ADB5-34D0-9CC8-6C172742C803}
// *********************************************************************//
interface _SoapIdrefs  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapEntities
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {ACA96DA3-96ED-397E-8A72-EE1BE1025F5E}
// *********************************************************************//
interface _SoapEntities  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNmtoken
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E941FA15-E6C8-3DD4-B060-C0DDFBC0240A}
// *********************************************************************//
interface _SoapNmtoken  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNmtokens
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A5E385AE-27FB-3708-BAF7-0BF1F3955747}
// *********************************************************************//
interface _SoapNmtokens  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapNcName
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {725CDAF7-B739-35C1-8463-E2A923E1F618}
// *********************************************************************//
interface _SoapNcName  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapId
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6A46B6A2-2D2C-3C67-AF67-AAE0175F17AE}
// *********************************************************************//
interface _SoapId  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapIdref
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7DB7FD83-DE89-38E1-9645-D4CABDE694C0}
// *********************************************************************//
interface _SoapIdref  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapEntity
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {37171746-B784-3586-A7D5-692A7604A66B}
// *********************************************************************//
interface _SoapEntity  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SynchronizationAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2D985674-231C-33D4-B14D-F3A6BD2EBE19}
// *********************************************************************//
interface _SynchronizationAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ITrackingHandler
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {03EC7D10-17A5-3585-9A2E-0596FCAC3870}
// *********************************************************************//
interface ITrackingHandler  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE MarshaledObject(TVariantInParam obj/*[in]*/, 
                                                    Mscorlib_tlb::_ObjRefPtr or/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE UnmarshaledObject(TVariantInParam obj/*[in]*/, 
                                                      Mscorlib_tlb::_ObjRefPtr or/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE DisconnectedObject(TVariantInParam obj/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TrackingServices
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F51728F2-2DEF-308C-874A-CBB1BAA9CF9E}
// *********************************************************************//
interface _TrackingServices  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UrlAttribute
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {717105A3-739B-3BC3-A2B7-AD215903FAD2}
// *********************************************************************//
interface _UrlAttribute  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStorage
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {34EC3BD7-F2F6-3C20-A639-804BFF89DF65}
// *********************************************************************//
interface _IsolatedStorage  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStorageFile
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {6BBB7DEE-186F-3D51-9486-BE0A71E915CE}
// *********************************************************************//
interface _IsolatedStorageFile  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStorageFileStream
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {68D5592B-47C8-381A-8D51-3925C16CF025}
// *********************************************************************//
interface _IsolatedStorageFileStream  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _IsolatedStorageException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AEC2B0DE-9898-3607-B845-63E2E307CB5F}
// *********************************************************************//
interface _IsolatedStorageException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : INormalizeForIsolatedStorage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {F5006531-D4D7-319E-9EDA-9B4B65AD8D4F}
// *********************************************************************//
interface INormalizeForIsolatedStorage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE Normalize(TVariant* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  TVariant __fastcall Normalize(void)
  {
    TVariant pRetVal;
    OLECHECK(this->Normalize((TVariant*)&pRetVal));
    return pRetVal;
  }



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ISoapMessage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {E699146C-7793-3455-9BEF-964C90D8F995}
// *********************************************************************//
interface ISoapMessage  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_ParamNames(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ParamNames(LPSAFEARRAY pRetVal/*[in]*/) = 0; // [1610743808]
  virtual HRESULT STDMETHODCALLTYPE get_ParamValues(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ParamValues(LPSAFEARRAY pRetVal/*[in]*/) = 0; // [1610743810]
  virtual HRESULT STDMETHODCALLTYPE get_ParamTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_ParamTypes(LPSAFEARRAY pRetVal/*[in]*/) = 0; // [1610743812]
  virtual HRESULT STDMETHODCALLTYPE get_MethodName(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_MethodName(BSTR pRetVal/*[in]*/) = 0; // [1610743814]
  virtual HRESULT STDMETHODCALLTYPE get_XmlNameSpace(BSTR* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_XmlNameSpace(BSTR pRetVal/*[in]*/) = 0; // [1610743816]
  virtual HRESULT STDMETHODCALLTYPE get_headers(LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE set_headers(LPSAFEARRAY pRetVal/*[in]*/) = 0; // [1610743818]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  LPSAFEARRAY __fastcall get_ParamNames(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_ParamNames((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_ParamValues(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_ParamValues((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_ParamTypes(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_ParamTypes((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_MethodName(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_MethodName((BSTR*)&pRetVal));
    return pRetVal;
  }

  BSTR __fastcall get_XmlNameSpace(void)
  {
    BSTR pRetVal = 0;
    OLECHECK(this->get_XmlNameSpace((BSTR*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall get_headers(void)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->get_headers((LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   BSTR            MethodName = {read = get_MethodName, write = set_MethodName};
  __property   BSTR            XmlNameSpace = {read = get_XmlNameSpace, write = set_XmlNameSpace};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InternalRM
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {361A5049-1BC8-35A9-946A-53A877902F25}
// *********************************************************************//
interface _InternalRM  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _InternalST
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A864FB13-F945-3DC0-A01C-B903F944FC97}
// *********************************************************************//
interface _InternalST  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapMessage
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BC0847B2-BD5C-37B3-BA67-7D2D54B17238}
// *********************************************************************//
interface _SoapMessage  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SoapFault
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A1C392FC-314C-39D5-8DE6-1F8EBCA0A1E2}
// *********************************************************************//
interface _SoapFault  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ServerFault
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {02D1BD78-3BB6-37AD-A9F8-F7D5DA273E4E}
// *********************************************************************//
interface _ServerFault  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _BinaryFormatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3BCF0CB2-A849-375E-8189-1BA5F1F4A9B0}
// *********************************************************************//
interface _BinaryFormatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AssemblyBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {BEBB2505-8B54-3443-AEAD-142A16DD9CC7}
// *********************************************************************//
interface _AssemblyBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ConstructorBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {ED3E4384-D7E2-3FA7-8FFD-8940D330519A}
// *********************************************************************//
interface _ConstructorBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _CustomAttributeBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {BE9ACCE8-AAFF-3B91-81AE-8211663F5CAD}
// *********************************************************************//
interface _CustomAttributeBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _EnumBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {C7BD73DE-9F85-3290-88EE-090B8BDFE2DF}
// *********************************************************************//
interface _EnumBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _EventBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {AADABA99-895D-3D65-9760-B1F12621FAE8}
// *********************************************************************//
interface _EventBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _FieldBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {CE1A3BF5-975E-30CC-97C9-1EF70F8F3993}
// *********************************************************************//
interface _FieldBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ILGenerator
// Indicateurs : (256) OleAutomation
// GUID        : {A4924B27-6E3B-37F7-9B83-A4501955E6A7}
// *********************************************************************//
interface _ILGenerator  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _LocalBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {4E6350D1-A08B-3DEC-9A3E-C465F9AEEC0C}
// *********************************************************************//
interface _LocalBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _MethodBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {007D8A14-FDF3-363E-9A0B-FEC0618260A2}
// *********************************************************************//
interface _MethodBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _MethodRental
// Indicateurs : (256) OleAutomation
// GUID        : {C2323C25-F57F-3880-8A4D-12EBEA7A5852}
// *********************************************************************//
interface _MethodRental  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ModuleBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {D05FFA9A-04AF-3519-8EE1-8D93AD73430B}
// *********************************************************************//
interface _ModuleBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _ParameterBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {36329EBA-F97A-3565-BC07-0ED5C6EF19FC}
// *********************************************************************//
interface _ParameterBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _PropertyBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {15F9A479-9397-3A63-ACBD-F51977FB0F02}
// *********************************************************************//
interface _PropertyBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _SignatureHelper
// Indicateurs : (256) OleAutomation
// GUID        : {7D13DD37-5A04-393C-BBCA-A5FEA802893D}
// *********************************************************************//
interface _SignatureHelper  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _TypeBuilder
// Indicateurs : (256) OleAutomation
// GUID        : {7E5678EE-48B3-3F83-B076-C58543498A58}
// *********************************************************************//
interface _TypeBuilder  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                                unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                                  unsigned_long cNames/*[in]*/, 
                                                  unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/) = 0; // [-1]
};

// *********************************************************************//
// Interface   : _DynamicILInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0DAEAEE7-007B-3FCA-8755-A5C6C3158955}
// *********************************************************************//
interface _DynamicILInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DynamicMethod
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EAAA2670-0FB1-33EA-852B-F1C97FED1797}
// *********************************************************************//
interface _DynamicMethod  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _OpCodes
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1DB1CC2A-DA73-389E-828B-5C616F4FAC49}
// *********************************************************************//
interface _OpCodes  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _GenericTypeParameterBuilder
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B1A62835-FC19-35A4-B206-A452463D7EE7}
// *********************************************************************//
interface _GenericTypeParameterBuilder  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _UnmanagedMarshal
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FD302D86-240A-3694-A31F-9EF59E6E41BC}
// *********************************************************************//
interface _UnmanagedMarshal  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeySizes
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8978B0BE-A89E-3FF9-9834-77862CEBFF3D}
// *********************************************************************//
interface _KeySizes  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CryptographicException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4311E8F5-B249-3F81-8FF4-CF853D85306D}
// *********************************************************************//
interface _CryptographicException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CryptographicUnexpectedOperationException
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7FB08423-038F-3ACC-B600-E6D072BAE160}
// *********************************************************************//
interface _CryptographicUnexpectedOperationException  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICryptoTransform
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {8ABAD867-F515-3CF6-BB62-5F0C88B3BB11}
// *********************************************************************//
interface ICryptoTransform  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_InputBlockSize(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_OutputBlockSize(long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CanTransformMultipleBlocks(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE get_CanReuseTransform(TOLEBOOL* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE TransformBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                                   long inputOffset/*[in]*/, long inputCount/*[in]*/, 
                                                   LPSAFEARRAY outputBuffer/*[in]*/, 
                                                   long outputOffset/*[in]*/, 
                                                   long* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE TransformFinalBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                                        long inputOffset/*[in]*/, 
                                                        long inputCount/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  long __fastcall get_InputBlockSize(void)
  {
    long pRetVal;
    OLECHECK(this->get_InputBlockSize((long*)&pRetVal));
    return pRetVal;
  }

  long __fastcall get_OutputBlockSize(void)
  {
    long pRetVal;
    OLECHECK(this->get_OutputBlockSize((long*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_CanTransformMultipleBlocks(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_CanTransformMultipleBlocks((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  TOLEBOOL __fastcall get_CanReuseTransform(void)
  {
    TOLEBOOL pRetVal;
    OLECHECK(this->get_CanReuseTransform((TOLEBOOL*)&pRetVal));
    return pRetVal;
  }

  long __fastcall TransformBlock(LPSAFEARRAY inputBuffer/*[in]*/, long inputOffset/*[in]*/, 
                                 long inputCount/*[in]*/, LPSAFEARRAY outputBuffer/*[in]*/, 
                                 long outputOffset/*[in]*/)
  {
    long pRetVal;
    OLECHECK(this->TransformBlock(inputBuffer, inputOffset, inputCount, outputBuffer, outputOffset, (long*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall TransformFinalBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                             long inputOffset/*[in]*/, long inputCount/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->TransformFinalBlock(inputBuffer, inputOffset, inputCount, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   long            InputBlockSize = {read = get_InputBlockSize};
  __property   long            OutputBlockSize = {read = get_OutputBlockSize};
  __property   TOLEBOOL        CanTransformMultipleBlocks = {read = get_CanTransformMultipleBlocks};
  __property   TOLEBOOL        CanReuseTransform = {read = get_CanReuseTransform};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RandomNumberGenerator
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7AE4B03C-414A-36E0-BA68-F9603004C925}
// *********************************************************************//
interface _RandomNumberGenerator  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RNGCryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {2C65D4C0-584C-3E4E-8E6D-1AFB112BFF69}
// *********************************************************************//
interface _RNGCryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AsymmetricAlgorithm
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {09343AC0-D19A-3E62-BC16-0F600F10180A}
// *********************************************************************//
interface _AsymmetricAlgorithm  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AsymmetricKeyExchangeDeformatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B6685CCA-7A49-37D1-A805-3DE829CB8DEB}
// *********************************************************************//
interface _AsymmetricKeyExchangeDeformatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AsymmetricKeyExchangeFormatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1365B84B-6477-3C40-BE6A-089DC01ECED9}
// *********************************************************************//
interface _AsymmetricKeyExchangeFormatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AsymmetricSignatureDeformatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {7CA5FE57-D1AC-3064-BB0B-F450BE40F194}
// *********************************************************************//
interface _AsymmetricSignatureDeformatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _AsymmetricSignatureFormatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5363D066-6295-3618-BE33-3F0B070B7976}
// *********************************************************************//
interface _AsymmetricSignatureFormatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _ToBase64Transform
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {23DED1E1-7D5F-3936-AA4E-18BBCC39B155}
// *********************************************************************//
interface _ToBase64Transform  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _FromBase64Transform
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FC0717A6-2E86-372F-81F4-B35ED4BDF0DE}
// *********************************************************************//
interface _FromBase64Transform  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CryptoAPITransform
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {983B8639-2ED7-364C-9899-682ABB2CE850}
// *********************************************************************//
interface _CryptoAPITransform  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CspParameters
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D5331D95-FFF2-358F-AFD5-588F469FF2E4}
// *********************************************************************//
interface _CspParameters  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CryptoConfig
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {AB00F3F8-7DDE-3FF5-B805-6C5DBB200549}
// *********************************************************************//
interface _CryptoConfig  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CryptoStream
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4134F762-D0EC-3210-93C0-DE4F443D5669}
// *********************************************************************//
interface _CryptoStream  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SymmetricAlgorithm
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {05BC0E38-7136-3825-9E34-26C1CF2142C9}
// *********************************************************************//
interface _SymmetricAlgorithm  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DES
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C7EF0214-B91C-3799-98DD-C994AABFC741}
// *********************************************************************//
interface _DES  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DESCryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {65E8495E-5207-3248-9250-0FC849B4F096}
// *********************************************************************//
interface _DESCryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DeriveBytes
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {140EE78F-067F-3765-9258-C3BC72FE976B}
// *********************************************************************//
interface _DeriveBytes  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DSA
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0EB5B5E0-1BE6-3A5F-87B3-E3323342F44E}
// *********************************************************************//
interface _DSA  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : ICspAsymmetricAlgorithm
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {494A7583-190E-3693-9EC4-DE54DC6A84A2}
// *********************************************************************//
interface ICspAsymmetricAlgorithm  : public IDispatch
{
public:
  virtual HRESULT STDMETHODCALLTYPE get_CspKeyContainerInfo(Mscorlib_tlb::_CspKeyContainerInfoPtr* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ExportCspBlob(TOLEBOOL includePrivateParameters/*[in]*/, 
                                                  LPSAFEARRAY* pRetVal/*[out,retval]*/) = 0; // [-1]
  virtual HRESULT STDMETHODCALLTYPE ImportCspBlob(LPSAFEARRAY rawData/*[in]*/) = 0; // [-1]

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)

  Mscorlib_tlb::_CspKeyContainerInfoPtr __fastcall get_CspKeyContainerInfo(void)
  {
    Mscorlib_tlb::_CspKeyContainerInfoPtr pRetVal;
    OLECHECK(this->get_CspKeyContainerInfo((Mscorlib_tlb::_CspKeyContainerInfoPtr*)&pRetVal));
    return pRetVal;
  }

  LPSAFEARRAY __fastcall ExportCspBlob(TOLEBOOL includePrivateParameters/*[in]*/)
  {
    LPSAFEARRAY pRetVal;
    OLECHECK(this->ExportCspBlob(includePrivateParameters, (LPSAFEARRAY*)&pRetVal));
    return pRetVal;
  }


  __property   Mscorlib_tlb::_CspKeyContainerInfoPtr CspKeyContainerInfo = {read = get_CspKeyContainerInfo};

#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DSACryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1F38AAFE-7502-332F-971F-C2FC700A1D55}
// *********************************************************************//
interface _DSACryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DSASignatureDeformatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0E774498-ADE6-3820-B1D5-426B06397BE7}
// *********************************************************************//
interface _DSASignatureDeformatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _DSASignatureFormatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {4B5FC561-5983-31E4-903B-1404231B2C89}
// *********************************************************************//
interface _DSASignatureFormatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HashAlgorithm
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {69D3BABA-1C3D-354C-ACFE-F19109EC3896}
// *********************************************************************//
interface _HashAlgorithm  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _KeyedHashAlgorithm
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D182CF91-628C-3FF6-87F0-41BA51CC7433}
// *********************************************************************//
interface _KeyedHashAlgorithm  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HMAC
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E5456726-33F6-34E4-95C2-DB2BFA581462}
// *********************************************************************//
interface _HMAC  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HMACMD5
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {486360F5-6213-322B-BEFB-45221579D4AF}
// *********************************************************************//
interface _HMACMD5  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HMACRIPEMD160
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9FD974A5-338C-37B9-A1B2-D45F0C2B25C2}
// *********************************************************************//
interface _HMACRIPEMD160  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HMACSHA1
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {63AC7C37-C51A-3D82-8FDD-2A567039E46D}
// *********************************************************************//
interface _HMACSHA1  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HMACSHA256
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1377CE34-8921-3BD4-96E9-C8D5D5AA1ADF}
// *********************************************************************//
interface _HMACSHA256  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HMACSHA384
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {786F8AC3-93E4-3B6F-9F62-1901B0E5F433}
// *********************************************************************//
interface _HMACSHA384  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _HMACSHA512
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EB081B9D-A766-3ABE-B720-505C42162D83}
// *********************************************************************//
interface _HMACSHA512  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _CspKeyContainerInfo
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BE8619CB-3731-3CB2-A3A8-CD0BFA5566EC}
// *********************************************************************//
interface _CspKeyContainerInfo  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MACTripleDES
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {1CAC0BDA-AC58-31BC-B624-63F77D0C3D2F}
// *********************************************************************//
interface _MACTripleDES  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MD5
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9AA8765E-69A0-30E3-9CDE-EBC70662AE37}
// *********************************************************************//
interface _MD5  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MD5CryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {D3F5C812-5867-33C9-8CEE-CB170E8D844A}
// *********************************************************************//
interface _MD5CryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _MaskGenerationMethod
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {85601FEE-A79D-3710-AF21-099089EDC0BF}
// *********************************************************************//
interface _MaskGenerationMethod  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PasswordDeriveBytes
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3CD62D67-586F-309E-A6D8-1F4BAAC5AC28}
// *********************************************************************//
interface _PasswordDeriveBytes  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _PKCS1MaskGenerationMethod
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {425BFF0D-59E4-36A8-B1FF-1F5D39D698F4}
// *********************************************************************//
interface _PKCS1MaskGenerationMethod  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RC2
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {F7C0C4CC-0D49-31EE-A3D3-B8B551E4928C}
// *********************************************************************//
interface _RC2  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RC2CryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {875715C5-CB64-3920-8156-0EE9CB0E07EA}
// *********************************************************************//
interface _RC2CryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Rfc2898DeriveBytes
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A6589897-5A67-305F-9497-72E5FE8BEAD5}
// *********************************************************************//
interface _Rfc2898DeriveBytes  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RIPEMD160
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {E5481BE9-3422-3506-BC35-B96D4535014D}
// *********************************************************************//
interface _RIPEMD160  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RIPEMD160Managed
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {814F9C35-B7F8-3CEB-8E43-E01F09157060}
// *********************************************************************//
interface _RIPEMD160Managed  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSA
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {0B3FB710-A25C-3310-8774-1CF117F95BD4}
// *********************************************************************//
interface _RSA  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSACryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {BD9DF856-2300-3254-BCF0-679BA03C7A13}
// *********************************************************************//
interface _RSACryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSAOAEPKeyExchangeDeformatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {37625095-7BAA-377D-A0DC-7F465C0167AA}
// *********************************************************************//
interface _RSAOAEPKeyExchangeDeformatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSAOAEPKeyExchangeFormatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {77A416E7-2AC6-3D0E-98FF-3BA0F586F56F}
// *********************************************************************//
interface _RSAOAEPKeyExchangeFormatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSAPKCS1KeyExchangeDeformatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8034AAF4-3666-3B6F-85CF-463F9BFD31A9}
// *********************************************************************//
interface _RSAPKCS1KeyExchangeDeformatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSAPKCS1KeyExchangeFormatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {9FF67F8E-A7AA-3BA6-90EE-9D44AF6E2F8C}
// *********************************************************************//
interface _RSAPKCS1KeyExchangeFormatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSAPKCS1SignatureDeformatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FC38507E-06A4-3300-8652-8D7B54341F65}
// *********************************************************************//
interface _RSAPKCS1SignatureDeformatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RSAPKCS1SignatureFormatter
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {FB7A5FF4-CFA8-3F24-AD5F-D5EB39359707}
// *********************************************************************//
interface _RSAPKCS1SignatureFormatter  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _Rijndael
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {21B52A91-856F-373C-AD42-4CF3F1021F5A}
// *********************************************************************//
interface _Rijndael  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RijndaelManaged
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {427EA9D3-11D8-3E38-9E05-A4F7FA684183}
// *********************************************************************//
interface _RijndaelManaged  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _RijndaelManagedTransform
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {5767C78F-F344-35A5-84BC-53B9EAEB68CB}
// *********************************************************************//
interface _RijndaelManagedTransform  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA1
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {48600DD2-0099-337F-92D6-961D1E5010D4}
// *********************************************************************//
interface _SHA1  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA1CryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {A16537BC-1EDF-3516-B75E-CC65CAF873AB}
// *********************************************************************//
interface _SHA1CryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA1Managed
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C27990BB-3CFD-3D29-8DC0-BBE5FBADEAFD}
// *********************************************************************//
interface _SHA1Managed  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA256
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3B274703-DFAE-3F9C-A1B5-9990DF9D7FA3}
// *********************************************************************//
interface _SHA256  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA256Managed
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {3D077954-7BCC-325B-9DDA-3B17A03378E0}
// *********************************************************************//
interface _SHA256Managed  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA384
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {B60AD5D7-2C2E-35B7-8D77-7946156CFE8E}
// *********************************************************************//
interface _SHA384  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA384Managed
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DE541460-F838-3698-B2DA-510B09070118}
// *********************************************************************//
interface _SHA384Managed  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA512
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {49DD9E4B-84F3-3D6D-91FB-3FEDCEF634C7}
// *********************************************************************//
interface _SHA512  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SHA512Managed
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {DC8CE439-7954-36ED-803C-674F72F27249}
// *********************************************************************//
interface _SHA512Managed  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _SignatureDescription
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {8017B414-4886-33DA-80A3-7865C1350D43}
// *********************************************************************//
interface _SignatureDescription  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TripleDES
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {C040B889-5278-3132-AFF9-AFA61707A81D}
// *********************************************************************//
interface _TripleDES  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _TripleDESCryptoServiceProvider
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {EC69D083-3CD0-3C0C-998C-3B738DB535D5}
// *********************************************************************//
interface _TripleDESCryptoServiceProvider  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

// *********************************************************************//
// Interface   : _X509Certificate
// Indicateurs : (4432) Hidden Dual OleAutomation Dispatchable
// GUID        : {68FD6F14-A7B2-36C8-A724-D01F90D73477}
// *********************************************************************//
interface _X509Certificate  : public IDispatch
{
public:

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)



#endif //   __TLB_NO_INTERFACE_WRAPPERS

};

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)
// *********************************************************************//
// SmartIntf: TCOM_Object
// Interface: _Object
// *********************************************************************//
template <class T /* _Object */ >
class TCOM_ObjectT : public TComInterface<_Object>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObjectT() {}
  TCOM_ObjectT(_Object *intf, bool addRef = false) : TComInterface<_Object>(intf, addRef) {}
  TCOM_ObjectT(const TCOM_ObjectT& src) : TComInterface<_Object>(src) {}
  TCOM_ObjectT& operator=(const TCOM_ObjectT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);

  __property   BSTR            ToString = {read = get_ToString};
};
typedef TCOM_ObjectT<_Object> TCOM_Object;

// *********************************************************************//
// DispIntf:  _Object
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {65074F7F-63C0-304E-AF0A-D51741CB4A8D}
// *********************************************************************//
template<class T>
class _ObjectDispT : public TAutoDriver<_Object>
{
public:
  _ObjectDispT(){}

  _ObjectDispT(_Object *pintf)
  {
    TAutoDriver<_Object>::Bind(pintf, false);
  }

  _ObjectDispT(_ObjectPtr pintf)
  {
    TAutoDriver<_Object>::Bind(pintf, true);
  }

  _ObjectDispT& operator=(_Object *pintf)
  {
    TAutoDriver<_Object>::Bind(pintf, false);
    return *this;
  }

  _ObjectDispT& operator=(_ObjectPtr pintf)
  {
    TAutoDriver<_Object>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Object));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Object);
  }

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);

  __property   BSTR            ToString = {read = get_ToString};
};
typedef _ObjectDispT<_Object> _ObjectDisp;

typedef TComInterface<ICloneable>  TCOMICloneable;

// *********************************************************************//
// DispIntf:  ICloneable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0CB251A7-3AB3-3B5C-A0B8-9DDF88824B85}
// *********************************************************************//
template<class T>
class ICloneableDispT : public TAutoDriver<ICloneable>
{
public:
  ICloneableDispT(){}

  ICloneableDispT(ICloneable *pintf)
  {
    TAutoDriver<ICloneable>::Bind(pintf, false);
  }

  ICloneableDispT(ICloneablePtr pintf)
  {
    TAutoDriver<ICloneable>::Bind(pintf, true);
  }

  ICloneableDispT& operator=(ICloneable *pintf)
  {
    TAutoDriver<ICloneable>::Bind(pintf, false);
    return *this;
  }

  ICloneableDispT& operator=(ICloneablePtr pintf)
  {
    TAutoDriver<ICloneable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Clone(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Clone(void);

};
typedef ICloneableDispT<ICloneable> ICloneableDisp;

typedef TComInterface<IEnumerable>  TCOMIEnumerable;

// *********************************************************************//
// DispIntf:  IEnumerable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {496B0ABE-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
template<class T>
class IEnumerableDispT : public TAutoDriver<IEnumerable>
{
public:
  IEnumerableDispT(){}

  IEnumerableDispT(IEnumerable *pintf)
  {
    TAutoDriver<IEnumerable>::Bind(pintf, false);
  }

  IEnumerableDispT(IEnumerablePtr pintf)
  {
    TAutoDriver<IEnumerable>::Bind(pintf, true);
  }

  IEnumerableDispT& operator=(IEnumerable *pintf)
  {
    TAutoDriver<IEnumerable>::Bind(pintf, false);
    return *this;
  }

  IEnumerableDispT& operator=(IEnumerablePtr pintf)
  {
    TAutoDriver<IEnumerable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetEnumerator(IEnumVARIANTPtr* pRetVal/*[out,retval]*/);
  IEnumVARIANTPtr __fastcall GetEnumerator(void);

};
typedef IEnumerableDispT<IEnumerable> IEnumerableDisp;

typedef TComInterface<ICollection>  TCOMICollection;

// *********************************************************************//
// DispIntf:  ICollection
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {DE8DB6F8-D101-3A92-8D1C-E72E5F10E992}
// *********************************************************************//
template<class T>
class ICollectionDispT : public TAutoDriver<ICollection>
{
public:
  ICollectionDispT(){}

  ICollectionDispT(ICollection *pintf)
  {
    TAutoDriver<ICollection>::Bind(pintf, false);
  }

  ICollectionDispT(ICollectionPtr pintf)
  {
    TAutoDriver<ICollection>::Bind(pintf, true);
  }

  ICollectionDispT& operator=(ICollection *pintf)
  {
    TAutoDriver<ICollection>::Bind(pintf, false);
    return *this;
  }

  ICollectionDispT& operator=(ICollectionPtr pintf)
  {
    TAutoDriver<ICollection>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall CopyTo(Mscorlib_tlb::_ArrayPtr Array/*[in]*/, long index/*[in]*/);
  HRESULT         __fastcall get_Count(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_Count(void);
  HRESULT         __fastcall get_SyncRoot(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_SyncRoot(void);
  HRESULT         __fastcall get_IsSynchronized(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSynchronized(void);

  __property   long            Count = {read = get_Count};
  __property   TOLEBOOL        IsSynchronized = {read = get_IsSynchronized};
};
typedef ICollectionDispT<ICollection> ICollectionDisp;

typedef TComInterface<IList>  TCOMIList;

// *********************************************************************//
// DispIntf:  IList
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7BCFA00F-F764-3113-9140-3BBD127A96BB}
// *********************************************************************//
template<class T>
class IListDispT : public TAutoDriver<IList>
{
public:
  IListDispT(){}

  IListDispT(IList *pintf)
  {
    TAutoDriver<IList>::Bind(pintf, false);
  }

  IListDispT(IListPtr pintf)
  {
    TAutoDriver<IList>::Bind(pintf, true);
  }

  IListDispT& operator=(IList *pintf)
  {
    TAutoDriver<IList>::Bind(pintf, false);
    return *this;
  }

  IListDispT& operator=(IListPtr pintf)
  {
    TAutoDriver<IList>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Item(long index/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Item(long index/*[in]*/);
  HRESULT         __fastcall _set_Item(long index/*[in]*/, TVariantInParam pRetVal/*[in]*/);
  HRESULT         __fastcall Add(TVariantInParam value/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall Add(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall Contains(TVariantInParam value/*[in]*/, 
                                      TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Contains(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall Clear();
  HRESULT         __fastcall get_IsReadOnly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsReadOnly(void);
  HRESULT         __fastcall get_IsFixedSize(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFixedSize(void);
  HRESULT         __fastcall IndexOf(TVariantInParam value/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall IndexOf(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall Insert(long index/*[in]*/, TVariantInParam value/*[in]*/);
  HRESULT         __fastcall Remove(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall RemoveAt(long index/*[in]*/);

  __property   TOLEBOOL        IsReadOnly = {read = get_IsReadOnly};
  __property   TOLEBOOL        IsFixedSize = {read = get_IsFixedSize};
};
typedef IListDispT<IList> IListDisp;

// *********************************************************************//
// SmartIntf: TCOM_Array
// Interface: _Array
// *********************************************************************//
template <class T /* _Array */ >
class TCOM_ArrayT : public TComInterface<_Array>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ArrayT() {}
  TCOM_ArrayT(_Array *intf, bool addRef = false) : TComInterface<_Array>(intf, addRef) {}
  TCOM_ArrayT(const TCOM_ArrayT& src) : TComInterface<_Array>(src) {}
  TCOM_ArrayT& operator=(const TCOM_ArrayT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ArrayT<_Array> TCOM_Array;

// *********************************************************************//
// DispIntf:  _Array
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2B67CECE-71C3-36A9-A136-925CCC1935A8}
// *********************************************************************//
template<class T>
class _ArrayDispT : public TAutoDriver<_Array>
{
public:
  _ArrayDispT(){}

  _ArrayDispT(_Array *pintf)
  {
    TAutoDriver<_Array>::Bind(pintf, false);
  }

  _ArrayDispT(_ArrayPtr pintf)
  {
    TAutoDriver<_Array>::Bind(pintf, true);
  }

  _ArrayDispT& operator=(_Array *pintf)
  {
    TAutoDriver<_Array>::Bind(pintf, false);
    return *this;
  }

  _ArrayDispT& operator=(_ArrayPtr pintf)
  {
    TAutoDriver<_Array>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Array));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Array);
  }


};
typedef _ArrayDispT<_Array> _ArrayDisp;

// *********************************************************************//
// SmartIntf: TCOM_ValueType
// Interface: _ValueType
// *********************************************************************//
template <class T /* _ValueType */ >
class TCOM_ValueTypeT : public TComInterface<_ValueType>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ValueTypeT() {}
  TCOM_ValueTypeT(_ValueType *intf, bool addRef = false) : TComInterface<_ValueType>(intf, addRef) {}
  TCOM_ValueTypeT(const TCOM_ValueTypeT& src) : TComInterface<_ValueType>(src) {}
  TCOM_ValueTypeT& operator=(const TCOM_ValueTypeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ValueTypeT<_ValueType> TCOM_ValueType;

// *********************************************************************//
// DispIntf:  _ValueType
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {139E041D-0E41-39F5-A302-C4387E9D0A6C}
// *********************************************************************//
template<class T>
class _ValueTypeDispT : public TAutoDriver<_ValueType>
{
public:
  _ValueTypeDispT(){}

  _ValueTypeDispT(_ValueType *pintf)
  {
    TAutoDriver<_ValueType>::Bind(pintf, false);
  }

  _ValueTypeDispT(_ValueTypePtr pintf)
  {
    TAutoDriver<_ValueType>::Bind(pintf, true);
  }

  _ValueTypeDispT& operator=(_ValueType *pintf)
  {
    TAutoDriver<_ValueType>::Bind(pintf, false);
    return *this;
  }

  _ValueTypeDispT& operator=(_ValueTypePtr pintf)
  {
    TAutoDriver<_ValueType>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ValueType));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ValueType);
  }


};
typedef _ValueTypeDispT<_ValueType> _ValueTypeDisp;

typedef TComInterface<IEnumerator>  TCOMIEnumerator;

// *********************************************************************//
// DispIntf:  IEnumerator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {496B0ABF-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
template<class T>
class IEnumeratorDispT : public TAutoDriver<IEnumerator>
{
public:
  IEnumeratorDispT(){}

  IEnumeratorDispT(IEnumerator *pintf)
  {
    TAutoDriver<IEnumerator>::Bind(pintf, false);
  }

  IEnumeratorDispT(IEnumeratorPtr pintf)
  {
    TAutoDriver<IEnumerator>::Bind(pintf, true);
  }

  IEnumeratorDispT& operator=(IEnumerator *pintf)
  {
    TAutoDriver<IEnumerator>::Bind(pintf, false);
    return *this;
  }

  IEnumeratorDispT& operator=(IEnumeratorPtr pintf)
  {
    TAutoDriver<IEnumerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall MoveNext(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall MoveNext(void);
  HRESULT         __fastcall get_Current(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Current(void);
  HRESULT         __fastcall Reset();

};
typedef IEnumeratorDispT<IEnumerator> IEnumeratorDisp;

typedef TComInterface<IDisposable>  TCOMIDisposable;

// *********************************************************************//
// DispIntf:  IDisposable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {805D7A98-D4AF-3F0F-967F-E5CF45312D2C}
// *********************************************************************//
template<class T>
class IDisposableDispT : public TAutoDriver<IDisposable>
{
public:
  IDisposableDispT(){}

  IDisposableDispT(IDisposable *pintf)
  {
    TAutoDriver<IDisposable>::Bind(pintf, false);
  }

  IDisposableDispT(IDisposablePtr pintf)
  {
    TAutoDriver<IDisposable>::Bind(pintf, true);
  }

  IDisposableDispT& operator=(IDisposable *pintf)
  {
    TAutoDriver<IDisposable>::Bind(pintf, false);
    return *this;
  }

  IDisposableDispT& operator=(IDisposablePtr pintf)
  {
    TAutoDriver<IDisposable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Dispose();

};
typedef IDisposableDispT<IDisposable> IDisposableDisp;

typedef TComInterface<IComparable>  TCOMIComparable;

// *********************************************************************//
// DispIntf:  IComparable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {DEB0E770-91FD-3CF6-9A6C-E6A3656F3965}
// *********************************************************************//
template<class T>
class IComparableDispT : public TAutoDriver<IComparable>
{
public:
  IComparableDispT(){}

  IComparableDispT(IComparable *pintf)
  {
    TAutoDriver<IComparable>::Bind(pintf, false);
  }

  IComparableDispT(IComparablePtr pintf)
  {
    TAutoDriver<IComparable>::Bind(pintf, true);
  }

  IComparableDispT& operator=(IComparable *pintf)
  {
    TAutoDriver<IComparable>::Bind(pintf, false);
    return *this;
  }

  IComparableDispT& operator=(IComparablePtr pintf)
  {
    TAutoDriver<IComparable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall CompareTo(TVariantInParam obj/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall CompareTo(TVariantInParam obj/*[in]*/);

};
typedef IComparableDispT<IComparable> IComparableDisp;

typedef TComInterface<IFormattable>  TCOMIFormattable;

// *********************************************************************//
// DispIntf:  IFormattable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {9A604EE7-E630-3DED-9444-BAAE247075AB}
// *********************************************************************//
template<class T>
class IFormattableDispT : public TAutoDriver<IFormattable>
{
public:
  IFormattableDispT(){}

  IFormattableDispT(IFormattable *pintf)
  {
    TAutoDriver<IFormattable>::Bind(pintf, false);
  }

  IFormattableDispT(IFormattablePtr pintf)
  {
    TAutoDriver<IFormattable>::Bind(pintf, true);
  }

  IFormattableDispT& operator=(IFormattable *pintf)
  {
    TAutoDriver<IFormattable>::Bind(pintf, false);
    return *this;
  }

  IFormattableDispT& operator=(IFormattablePtr pintf)
  {
    TAutoDriver<IFormattable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ToString(BSTR format/*[in]*/, 
                                          Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/, 
                                          BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(BSTR format/*[in]*/, 
                                          Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/);

};
typedef IFormattableDispT<IFormattable> IFormattableDisp;

typedef TComInterface<IConvertible>  TCOMIConvertible;

// *********************************************************************//
// DispIntf:  IConvertible
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {805E3B62-B5E9-393D-8941-377D8BF4556B}
// *********************************************************************//
template<class T>
class IConvertibleDispT : public TAutoDriver<IConvertible>
{
public:
  IConvertibleDispT(){}

  IConvertibleDispT(IConvertible *pintf)
  {
    TAutoDriver<IConvertible>::Bind(pintf, false);
  }

  IConvertibleDispT(IConvertiblePtr pintf)
  {
    TAutoDriver<IConvertible>::Bind(pintf, true);
  }

  IConvertibleDispT& operator=(IConvertible *pintf)
  {
    TAutoDriver<IConvertible>::Bind(pintf, false);
    return *this;
  }

  IConvertibleDispT& operator=(IConvertiblePtr pintf)
  {
    TAutoDriver<IConvertible>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetTypeCode(Mscorlib_tlb::TypeCode* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::TypeCode __fastcall GetTypeCode(void);
  HRESULT         __fastcall ToBoolean(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                       TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall ToBoolean(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToChar(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                    unsigned_short* pRetVal/*[out,retval]*/);
  unsigned_short  __fastcall ToChar(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToSByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                     signed_char* pRetVal/*[out,retval]*/);
  signed_char     __fastcall ToSByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                    unsigned_char* pRetVal/*[out,retval]*/);
  unsigned_char   __fastcall ToByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                     short* pRetVal/*[out,retval]*/);
  short           __fastcall ToInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToUInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                      unsigned_short* pRetVal/*[out,retval]*/);
  unsigned_short  __fastcall ToUInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                     long* pRetVal/*[out,retval]*/);
  long            __fastcall ToInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToUInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                      unsigned_long* pRetVal/*[out,retval]*/);
  unsigned_long   __fastcall ToUInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                     __int64* pRetVal/*[out,retval]*/);
  __int64         __fastcall ToInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToUInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                      unsigned_int64* pRetVal/*[out,retval]*/);
  unsigned_int64  __fastcall ToUInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToSingle(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                      float* pRetVal/*[out,retval]*/);
  float           __fastcall ToSingle(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToDouble(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                      double* pRetVal/*[out,retval]*/);
  double          __fastcall ToDouble(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToDecimal(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                       DECIMAL* pRetVal/*[out,retval]*/);
  DECIMAL         __fastcall ToDecimal(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToDateTime(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                        DATE* pRetVal/*[out,retval]*/);
  DATE            __fastcall ToDateTime(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall get_ToString(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                          BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);
  HRESULT         __fastcall ToType(Mscorlib_tlb::_TypePtr conversionType/*[in]*/, 
                                    Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                    TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall ToType(Mscorlib_tlb::_TypePtr conversionType/*[in]*/, 
                                    Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/);

};
typedef IConvertibleDispT<IConvertible> IConvertibleDisp;

// *********************************************************************//
// SmartIntf: TCOM_Enum
// Interface: _Enum
// *********************************************************************//
template <class T /* _Enum */ >
class TCOM_EnumT : public TComInterface<_Enum>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EnumT() {}
  TCOM_EnumT(_Enum *intf, bool addRef = false) : TComInterface<_Enum>(intf, addRef) {}
  TCOM_EnumT(const TCOM_EnumT& src) : TComInterface<_Enum>(src) {}
  TCOM_EnumT& operator=(const TCOM_EnumT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EnumT<_Enum> TCOM_Enum;

// *********************************************************************//
// DispIntf:  _Enum
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D09D1E04-D590-39A3-B517-B734A49A9277}
// *********************************************************************//
template<class T>
class _EnumDispT : public TAutoDriver<_Enum>
{
public:
  _EnumDispT(){}

  _EnumDispT(_Enum *pintf)
  {
    TAutoDriver<_Enum>::Bind(pintf, false);
  }

  _EnumDispT(_EnumPtr pintf)
  {
    TAutoDriver<_Enum>::Bind(pintf, true);
  }

  _EnumDispT& operator=(_Enum *pintf)
  {
    TAutoDriver<_Enum>::Bind(pintf, false);
    return *this;
  }

  _EnumDispT& operator=(_EnumPtr pintf)
  {
    TAutoDriver<_Enum>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Enum));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Enum);
  }


};
typedef _EnumDispT<_Enum> _EnumDisp;

// *********************************************************************//
// SmartIntf: TCOM_String
// Interface: _String
// *********************************************************************//
template <class T /* _String */ >
class TCOM_StringT : public TComInterface<_String>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StringT() {}
  TCOM_StringT(_String *intf, bool addRef = false) : TComInterface<_String>(intf, addRef) {}
  TCOM_StringT(const TCOM_StringT& src) : TComInterface<_String>(src) {}
  TCOM_StringT& operator=(const TCOM_StringT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StringT<_String> TCOM_String;

// *********************************************************************//
// DispIntf:  _String
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {36936699-FC79-324D-AB43-E33C1F94E263}
// *********************************************************************//
template<class T>
class _StringDispT : public TAutoDriver<_String>
{
public:
  _StringDispT(){}

  _StringDispT(_String *pintf)
  {
    TAutoDriver<_String>::Bind(pintf, false);
  }

  _StringDispT(_StringPtr pintf)
  {
    TAutoDriver<_String>::Bind(pintf, true);
  }

  _StringDispT& operator=(_String *pintf)
  {
    TAutoDriver<_String>::Bind(pintf, false);
    return *this;
  }

  _StringDispT& operator=(_StringPtr pintf)
  {
    TAutoDriver<_String>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_String));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_String);
  }


};
typedef _StringDispT<_String> _StringDisp;

typedef TComInterface<IComparer>  TCOMIComparer;

// *********************************************************************//
// DispIntf:  IComparer
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C20FD3EB-7022-3D14-8477-760FAB54E50D}
// *********************************************************************//
template<class T>
class IComparerDispT : public TAutoDriver<IComparer>
{
public:
  IComparerDispT(){}

  IComparerDispT(IComparer *pintf)
  {
    TAutoDriver<IComparer>::Bind(pintf, false);
  }

  IComparerDispT(IComparerPtr pintf)
  {
    TAutoDriver<IComparer>::Bind(pintf, true);
  }

  IComparerDispT& operator=(IComparer *pintf)
  {
    TAutoDriver<IComparer>::Bind(pintf, false);
    return *this;
  }

  IComparerDispT& operator=(IComparerPtr pintf)
  {
    TAutoDriver<IComparer>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Compare(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/, 
                                     long* pRetVal/*[out,retval]*/);
  long            __fastcall Compare(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/);

};
typedef IComparerDispT<IComparer> IComparerDisp;

typedef TComInterface<IEqualityComparer>  TCOMIEqualityComparer;

// *********************************************************************//
// DispIntf:  IEqualityComparer
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AAB7C6EA-CAB0-3ADB-82AA-CF32E29AF238}
// *********************************************************************//
template<class T>
class IEqualityComparerDispT : public TAutoDriver<IEqualityComparer>
{
public:
  IEqualityComparerDispT(){}

  IEqualityComparerDispT(IEqualityComparer *pintf)
  {
    TAutoDriver<IEqualityComparer>::Bind(pintf, false);
  }

  IEqualityComparerDispT(IEqualityComparerPtr pintf)
  {
    TAutoDriver<IEqualityComparer>::Bind(pintf, true);
  }

  IEqualityComparerDispT& operator=(IEqualityComparer *pintf)
  {
    TAutoDriver<IEqualityComparer>::Bind(pintf, false);
    return *this;
  }

  IEqualityComparerDispT& operator=(IEqualityComparerPtr pintf)
  {
    TAutoDriver<IEqualityComparer>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Equals(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/, 
                                    TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/);
  HRESULT         __fastcall GetHashCode(TVariantInParam obj/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(TVariantInParam obj/*[in]*/);

};
typedef IEqualityComparerDispT<IEqualityComparer> IEqualityComparerDisp;

// *********************************************************************//
// SmartIntf: TCOM_StringComparer
// Interface: _StringComparer
// *********************************************************************//
template <class T /* _StringComparer */ >
class TCOM_StringComparerT : public TComInterface<_StringComparer>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StringComparerT() {}
  TCOM_StringComparerT(_StringComparer *intf, bool addRef = false) : TComInterface<_StringComparer>(intf, addRef) {}
  TCOM_StringComparerT(const TCOM_StringComparerT& src) : TComInterface<_StringComparer>(src) {}
  TCOM_StringComparerT& operator=(const TCOM_StringComparerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StringComparerT<_StringComparer> TCOM_StringComparer;

// *********************************************************************//
// DispIntf:  _StringComparer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7499E7E8-DF01-3948-B8D4-FA4B9661D36B}
// *********************************************************************//
template<class T>
class _StringComparerDispT : public TAutoDriver<_StringComparer>
{
public:
  _StringComparerDispT(){}

  _StringComparerDispT(_StringComparer *pintf)
  {
    TAutoDriver<_StringComparer>::Bind(pintf, false);
  }

  _StringComparerDispT(_StringComparerPtr pintf)
  {
    TAutoDriver<_StringComparer>::Bind(pintf, true);
  }

  _StringComparerDispT& operator=(_StringComparer *pintf)
  {
    TAutoDriver<_StringComparer>::Bind(pintf, false);
    return *this;
  }

  _StringComparerDispT& operator=(_StringComparerPtr pintf)
  {
    TAutoDriver<_StringComparer>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StringComparer));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StringComparer);
  }


};
typedef _StringComparerDispT<_StringComparer> _StringComparerDisp;

typedef TComInterface<ISerializable>  TCOMISerializable;

// *********************************************************************//
// DispIntf:  ISerializable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {D0EEAA62-3D30-3EE2-B896-A2F34DDA47D8}
// *********************************************************************//
template<class T>
class ISerializableDispT : public TAutoDriver<ISerializable>
{
public:
  ISerializableDispT(){}

  ISerializableDispT(ISerializable *pintf)
  {
    TAutoDriver<ISerializable>::Bind(pintf, false);
  }

  ISerializableDispT(ISerializablePtr pintf)
  {
    TAutoDriver<ISerializable>::Bind(pintf, true);
  }

  ISerializableDispT& operator=(ISerializable *pintf)
  {
    TAutoDriver<ISerializable>::Bind(pintf, false);
    return *this;
  }

  ISerializableDispT& operator=(ISerializablePtr pintf)
  {
    TAutoDriver<ISerializable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context);

};
typedef ISerializableDispT<ISerializable> ISerializableDisp;

// *********************************************************************//
// SmartIntf: TCOM_StringBuilder
// Interface: _StringBuilder
// *********************************************************************//
template <class T /* _StringBuilder */ >
class TCOM_StringBuilderT : public TComInterface<_StringBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StringBuilderT() {}
  TCOM_StringBuilderT(_StringBuilder *intf, bool addRef = false) : TComInterface<_StringBuilder>(intf, addRef) {}
  TCOM_StringBuilderT(const TCOM_StringBuilderT& src) : TComInterface<_StringBuilder>(src) {}
  TCOM_StringBuilderT& operator=(const TCOM_StringBuilderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StringBuilderT<_StringBuilder> TCOM_StringBuilder;

// *********************************************************************//
// DispIntf:  _StringBuilder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9FB09782-8D39-3B0C-B79E-F7A37A65B3DA}
// *********************************************************************//
template<class T>
class _StringBuilderDispT : public TAutoDriver<_StringBuilder>
{
public:
  _StringBuilderDispT(){}

  _StringBuilderDispT(_StringBuilder *pintf)
  {
    TAutoDriver<_StringBuilder>::Bind(pintf, false);
  }

  _StringBuilderDispT(_StringBuilderPtr pintf)
  {
    TAutoDriver<_StringBuilder>::Bind(pintf, true);
  }

  _StringBuilderDispT& operator=(_StringBuilder *pintf)
  {
    TAutoDriver<_StringBuilder>::Bind(pintf, false);
    return *this;
  }

  _StringBuilderDispT& operator=(_StringBuilderPtr pintf)
  {
    TAutoDriver<_StringBuilder>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StringBuilder));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StringBuilder);
  }


};
typedef _StringBuilderDispT<_StringBuilder> _StringBuilderDisp;

// *********************************************************************//
// SmartIntf: TCOM_Exception
// Interface: _Exception
// *********************************************************************//
template <class T /* _Exception */ >
class TCOM_ExceptionT : public TComInterface<_Exception>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ExceptionT() {}
  TCOM_ExceptionT(_Exception *intf, bool addRef = false) : TComInterface<_Exception>(intf, addRef) {}
  TCOM_ExceptionT(const TCOM_ExceptionT& src) : TComInterface<_Exception>(src) {}
  TCOM_ExceptionT& operator=(const TCOM_ExceptionT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_Message(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Message(void);
  HRESULT         __fastcall GetBaseException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ExceptionPtr __fastcall GetBaseException(void);
  HRESULT         __fastcall get_StackTrace(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_StackTrace(void);
  HRESULT         __fastcall get_HelpLink(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_HelpLink(void);
  HRESULT         __fastcall set_HelpLink(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_Source(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Source(void);
  HRESULT         __fastcall set_Source(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           Mscorlib_tlb::StreamingContext Context/*[in]*/);
  HRESULT         __fastcall get_InnerException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ExceptionPtr __fastcall get_InnerException(void);
  HRESULT         __fastcall get_TargetSite(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodBasePtr __fastcall get_TargetSite(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   BSTR            Message = {read = get_Message};
  __property   BSTR            StackTrace = {read = get_StackTrace};
  __property   BSTR            HelpLink = {read = get_HelpLink, write = set_HelpLink};
  __property   BSTR            Source = {read = get_Source, write = set_Source};
  __property   Mscorlib_tlb::_ExceptionPtr InnerException = {read = get_InnerException};
  __property   Mscorlib_tlb::_MethodBasePtr TargetSite = {read = get_TargetSite};
};
typedef TCOM_ExceptionT<_Exception> TCOM_Exception;

// *********************************************************************//
// DispIntf:  _Exception
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B36B5C63-42EF-38BC-A07E-0B34C98F164A}
// *********************************************************************//
template<class T>
class _ExceptionDispT : public TAutoDriver<_Exception>
{
public:
  _ExceptionDispT(){}

  _ExceptionDispT(_Exception *pintf)
  {
    TAutoDriver<_Exception>::Bind(pintf, false);
  }

  _ExceptionDispT(_ExceptionPtr pintf)
  {
    TAutoDriver<_Exception>::Bind(pintf, true);
  }

  _ExceptionDispT& operator=(_Exception *pintf)
  {
    TAutoDriver<_Exception>::Bind(pintf, false);
    return *this;
  }

  _ExceptionDispT& operator=(_ExceptionPtr pintf)
  {
    TAutoDriver<_Exception>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Exception));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Exception);
  }

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_Message(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Message(void);
  HRESULT         __fastcall GetBaseException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ExceptionPtr __fastcall GetBaseException(void);
  HRESULT         __fastcall get_StackTrace(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_StackTrace(void);
  HRESULT         __fastcall get_HelpLink(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_HelpLink(void);
  HRESULT         __fastcall set_HelpLink(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_Source(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Source(void);
  HRESULT         __fastcall set_Source(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context);
  HRESULT         __fastcall get_InnerException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ExceptionPtr __fastcall get_InnerException(void);
  HRESULT         __fastcall get_TargetSite(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodBasePtr __fastcall get_TargetSite(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   BSTR            Message = {read = get_Message};
  __property   BSTR            StackTrace = {read = get_StackTrace};
  __property   BSTR            HelpLink = {read = get_HelpLink, write = set_HelpLink};
  __property   BSTR            Source = {read = get_Source, write = set_Source};
  __property   Mscorlib_tlb::_ExceptionPtr InnerException = {read = get_InnerException};
  __property   Mscorlib_tlb::_MethodBasePtr TargetSite = {read = get_TargetSite};
};
typedef _ExceptionDispT<_Exception> _ExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SystemException
// Interface: _SystemException
// *********************************************************************//
template <class T /* _SystemException */ >
class TCOM_SystemExceptionT : public TComInterface<_SystemException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SystemExceptionT() {}
  TCOM_SystemExceptionT(_SystemException *intf, bool addRef = false) : TComInterface<_SystemException>(intf, addRef) {}
  TCOM_SystemExceptionT(const TCOM_SystemExceptionT& src) : TComInterface<_SystemException>(src) {}
  TCOM_SystemExceptionT& operator=(const TCOM_SystemExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SystemExceptionT<_SystemException> TCOM_SystemException;

// *********************************************************************//
// DispIntf:  _SystemException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4C482CC2-68E9-37C6-8353-9A94BD2D7F0B}
// *********************************************************************//
template<class T>
class _SystemExceptionDispT : public TAutoDriver<_SystemException>
{
public:
  _SystemExceptionDispT(){}

  _SystemExceptionDispT(_SystemException *pintf)
  {
    TAutoDriver<_SystemException>::Bind(pintf, false);
  }

  _SystemExceptionDispT(_SystemExceptionPtr pintf)
  {
    TAutoDriver<_SystemException>::Bind(pintf, true);
  }

  _SystemExceptionDispT& operator=(_SystemException *pintf)
  {
    TAutoDriver<_SystemException>::Bind(pintf, false);
    return *this;
  }

  _SystemExceptionDispT& operator=(_SystemExceptionPtr pintf)
  {
    TAutoDriver<_SystemException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SystemException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SystemException);
  }


};
typedef _SystemExceptionDispT<_SystemException> _SystemExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_OutOfMemoryException
// Interface: _OutOfMemoryException
// *********************************************************************//
template <class T /* _OutOfMemoryException */ >
class TCOM_OutOfMemoryExceptionT : public TComInterface<_OutOfMemoryException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OutOfMemoryExceptionT() {}
  TCOM_OutOfMemoryExceptionT(_OutOfMemoryException *intf, bool addRef = false) : TComInterface<_OutOfMemoryException>(intf, addRef) {}
  TCOM_OutOfMemoryExceptionT(const TCOM_OutOfMemoryExceptionT& src) : TComInterface<_OutOfMemoryException>(src) {}
  TCOM_OutOfMemoryExceptionT& operator=(const TCOM_OutOfMemoryExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OutOfMemoryExceptionT<_OutOfMemoryException> TCOM_OutOfMemoryException;

// *********************************************************************//
// DispIntf:  _OutOfMemoryException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CF3EDB7E-0574-3383-A44F-292F7C145DB4}
// *********************************************************************//
template<class T>
class _OutOfMemoryExceptionDispT : public TAutoDriver<_OutOfMemoryException>
{
public:
  _OutOfMemoryExceptionDispT(){}

  _OutOfMemoryExceptionDispT(_OutOfMemoryException *pintf)
  {
    TAutoDriver<_OutOfMemoryException>::Bind(pintf, false);
  }

  _OutOfMemoryExceptionDispT(_OutOfMemoryExceptionPtr pintf)
  {
    TAutoDriver<_OutOfMemoryException>::Bind(pintf, true);
  }

  _OutOfMemoryExceptionDispT& operator=(_OutOfMemoryException *pintf)
  {
    TAutoDriver<_OutOfMemoryException>::Bind(pintf, false);
    return *this;
  }

  _OutOfMemoryExceptionDispT& operator=(_OutOfMemoryExceptionPtr pintf)
  {
    TAutoDriver<_OutOfMemoryException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OutOfMemoryException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OutOfMemoryException);
  }


};
typedef _OutOfMemoryExceptionDispT<_OutOfMemoryException> _OutOfMemoryExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_StackOverflowException
// Interface: _StackOverflowException
// *********************************************************************//
template <class T /* _StackOverflowException */ >
class TCOM_StackOverflowExceptionT : public TComInterface<_StackOverflowException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StackOverflowExceptionT() {}
  TCOM_StackOverflowExceptionT(_StackOverflowException *intf, bool addRef = false) : TComInterface<_StackOverflowException>(intf, addRef) {}
  TCOM_StackOverflowExceptionT(const TCOM_StackOverflowExceptionT& src) : TComInterface<_StackOverflowException>(src) {}
  TCOM_StackOverflowExceptionT& operator=(const TCOM_StackOverflowExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StackOverflowExceptionT<_StackOverflowException> TCOM_StackOverflowException;

// *********************************************************************//
// DispIntf:  _StackOverflowException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9CF4339A-2911-3B8A-8F30-E5C6B5BE9A29}
// *********************************************************************//
template<class T>
class _StackOverflowExceptionDispT : public TAutoDriver<_StackOverflowException>
{
public:
  _StackOverflowExceptionDispT(){}

  _StackOverflowExceptionDispT(_StackOverflowException *pintf)
  {
    TAutoDriver<_StackOverflowException>::Bind(pintf, false);
  }

  _StackOverflowExceptionDispT(_StackOverflowExceptionPtr pintf)
  {
    TAutoDriver<_StackOverflowException>::Bind(pintf, true);
  }

  _StackOverflowExceptionDispT& operator=(_StackOverflowException *pintf)
  {
    TAutoDriver<_StackOverflowException>::Bind(pintf, false);
    return *this;
  }

  _StackOverflowExceptionDispT& operator=(_StackOverflowExceptionPtr pintf)
  {
    TAutoDriver<_StackOverflowException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StackOverflowException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StackOverflowException);
  }


};
typedef _StackOverflowExceptionDispT<_StackOverflowException> _StackOverflowExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_DataMisalignedException
// Interface: _DataMisalignedException
// *********************************************************************//
template <class T /* _DataMisalignedException */ >
class TCOM_DataMisalignedExceptionT : public TComInterface<_DataMisalignedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DataMisalignedExceptionT() {}
  TCOM_DataMisalignedExceptionT(_DataMisalignedException *intf, bool addRef = false) : TComInterface<_DataMisalignedException>(intf, addRef) {}
  TCOM_DataMisalignedExceptionT(const TCOM_DataMisalignedExceptionT& src) : TComInterface<_DataMisalignedException>(src) {}
  TCOM_DataMisalignedExceptionT& operator=(const TCOM_DataMisalignedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DataMisalignedExceptionT<_DataMisalignedException> TCOM_DataMisalignedException;

// *********************************************************************//
// DispIntf:  _DataMisalignedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {152A6B4D-09AF-3EDF-8CBA-11797EEEEA4E}
// *********************************************************************//
template<class T>
class _DataMisalignedExceptionDispT : public TAutoDriver<_DataMisalignedException>
{
public:
  _DataMisalignedExceptionDispT(){}

  _DataMisalignedExceptionDispT(_DataMisalignedException *pintf)
  {
    TAutoDriver<_DataMisalignedException>::Bind(pintf, false);
  }

  _DataMisalignedExceptionDispT(_DataMisalignedExceptionPtr pintf)
  {
    TAutoDriver<_DataMisalignedException>::Bind(pintf, true);
  }

  _DataMisalignedExceptionDispT& operator=(_DataMisalignedException *pintf)
  {
    TAutoDriver<_DataMisalignedException>::Bind(pintf, false);
    return *this;
  }

  _DataMisalignedExceptionDispT& operator=(_DataMisalignedExceptionPtr pintf)
  {
    TAutoDriver<_DataMisalignedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DataMisalignedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DataMisalignedException);
  }


};
typedef _DataMisalignedExceptionDispT<_DataMisalignedException> _DataMisalignedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ExecutionEngineException
// Interface: _ExecutionEngineException
// *********************************************************************//
template <class T /* _ExecutionEngineException */ >
class TCOM_ExecutionEngineExceptionT : public TComInterface<_ExecutionEngineException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ExecutionEngineExceptionT() {}
  TCOM_ExecutionEngineExceptionT(_ExecutionEngineException *intf, bool addRef = false) : TComInterface<_ExecutionEngineException>(intf, addRef) {}
  TCOM_ExecutionEngineExceptionT(const TCOM_ExecutionEngineExceptionT& src) : TComInterface<_ExecutionEngineException>(src) {}
  TCOM_ExecutionEngineExceptionT& operator=(const TCOM_ExecutionEngineExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ExecutionEngineExceptionT<_ExecutionEngineException> TCOM_ExecutionEngineException;

// *********************************************************************//
// DispIntf:  _ExecutionEngineException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CCF0139C-79F7-3D0A-AFFE-2B0762C65B07}
// *********************************************************************//
template<class T>
class _ExecutionEngineExceptionDispT : public TAutoDriver<_ExecutionEngineException>
{
public:
  _ExecutionEngineExceptionDispT(){}

  _ExecutionEngineExceptionDispT(_ExecutionEngineException *pintf)
  {
    TAutoDriver<_ExecutionEngineException>::Bind(pintf, false);
  }

  _ExecutionEngineExceptionDispT(_ExecutionEngineExceptionPtr pintf)
  {
    TAutoDriver<_ExecutionEngineException>::Bind(pintf, true);
  }

  _ExecutionEngineExceptionDispT& operator=(_ExecutionEngineException *pintf)
  {
    TAutoDriver<_ExecutionEngineException>::Bind(pintf, false);
    return *this;
  }

  _ExecutionEngineExceptionDispT& operator=(_ExecutionEngineExceptionPtr pintf)
  {
    TAutoDriver<_ExecutionEngineException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ExecutionEngineException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ExecutionEngineException);
  }


};
typedef _ExecutionEngineExceptionDispT<_ExecutionEngineException> _ExecutionEngineExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Delegate
// Interface: _Delegate
// *********************************************************************//
template <class T /* _Delegate */ >
class TCOM_DelegateT : public TComInterface<_Delegate>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DelegateT() {}
  TCOM_DelegateT(_Delegate *intf, bool addRef = false) : TComInterface<_Delegate>(intf, addRef) {}
  TCOM_DelegateT(const TCOM_DelegateT& src) : TComInterface<_Delegate>(src) {}
  TCOM_DelegateT& operator=(const TCOM_DelegateT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall GetInvocationList(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetInvocationList(void);
  HRESULT         __fastcall Clone(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Clone(void);
  HRESULT         __fastcall GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           Mscorlib_tlb::StreamingContext Context/*[in]*/);
  HRESULT         __fastcall DynamicInvoke(LPSAFEARRAY args/*[in]*/, 
                                           TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall DynamicInvoke(LPSAFEARRAY args/*[in]*/);
  HRESULT         __fastcall get_Method(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall get_Method(void);
  HRESULT         __fastcall get_Target(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Target(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::_MethodInfoPtr Method = {read = get_Method};
};
typedef TCOM_DelegateT<_Delegate> TCOM_Delegate;

// *********************************************************************//
// DispIntf:  _Delegate
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {FB6AB00F-5096-3AF8-A33D-D7885A5FA829}
// *********************************************************************//
template<class T>
class _DelegateDispT : public TAutoDriver<_Delegate>
{
public:
  _DelegateDispT(){}

  _DelegateDispT(_Delegate *pintf)
  {
    TAutoDriver<_Delegate>::Bind(pintf, false);
  }

  _DelegateDispT(_DelegatePtr pintf)
  {
    TAutoDriver<_Delegate>::Bind(pintf, true);
  }

  _DelegateDispT& operator=(_Delegate *pintf)
  {
    TAutoDriver<_Delegate>::Bind(pintf, false);
    return *this;
  }

  _DelegateDispT& operator=(_DelegatePtr pintf)
  {
    TAutoDriver<_Delegate>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Delegate));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Delegate);
  }

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall GetInvocationList(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetInvocationList(void);
  HRESULT         __fastcall Clone(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Clone(void);
  HRESULT         __fastcall GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context);
  HRESULT         __fastcall DynamicInvoke(LPSAFEARRAY args/*[in]*/, 
                                           TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall DynamicInvoke(LPSAFEARRAY args/*[in]*/);
  HRESULT         __fastcall get_Method(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall get_Method(void);
  HRESULT         __fastcall get_Target(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Target(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::_MethodInfoPtr Method = {read = get_Method};
};
typedef _DelegateDispT<_Delegate> _DelegateDisp;

// *********************************************************************//
// SmartIntf: TCOM_MulticastDelegate
// Interface: _MulticastDelegate
// *********************************************************************//
template <class T /* _MulticastDelegate */ >
class TCOM_MulticastDelegateT : public TComInterface<_MulticastDelegate>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MulticastDelegateT() {}
  TCOM_MulticastDelegateT(_MulticastDelegate *intf, bool addRef = false) : TComInterface<_MulticastDelegate>(intf, addRef) {}
  TCOM_MulticastDelegateT(const TCOM_MulticastDelegateT& src) : TComInterface<_MulticastDelegate>(src) {}
  TCOM_MulticastDelegateT& operator=(const TCOM_MulticastDelegateT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MulticastDelegateT<_MulticastDelegate> TCOM_MulticastDelegate;

// *********************************************************************//
// DispIntf:  _MulticastDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {16FE0885-9129-3884-A232-90B58C5B2AA9}
// *********************************************************************//
template<class T>
class _MulticastDelegateDispT : public TAutoDriver<_MulticastDelegate>
{
public:
  _MulticastDelegateDispT(){}

  _MulticastDelegateDispT(_MulticastDelegate *pintf)
  {
    TAutoDriver<_MulticastDelegate>::Bind(pintf, false);
  }

  _MulticastDelegateDispT(_MulticastDelegatePtr pintf)
  {
    TAutoDriver<_MulticastDelegate>::Bind(pintf, true);
  }

  _MulticastDelegateDispT& operator=(_MulticastDelegate *pintf)
  {
    TAutoDriver<_MulticastDelegate>::Bind(pintf, false);
    return *this;
  }

  _MulticastDelegateDispT& operator=(_MulticastDelegatePtr pintf)
  {
    TAutoDriver<_MulticastDelegate>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MulticastDelegate));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MulticastDelegate);
  }


};
typedef _MulticastDelegateDispT<_MulticastDelegate> _MulticastDelegateDisp;

// *********************************************************************//
// SmartIntf: TCOM_MemberAccessException
// Interface: _MemberAccessException
// *********************************************************************//
template <class T /* _MemberAccessException */ >
class TCOM_MemberAccessExceptionT : public TComInterface<_MemberAccessException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MemberAccessExceptionT() {}
  TCOM_MemberAccessExceptionT(_MemberAccessException *intf, bool addRef = false) : TComInterface<_MemberAccessException>(intf, addRef) {}
  TCOM_MemberAccessExceptionT(const TCOM_MemberAccessExceptionT& src) : TComInterface<_MemberAccessException>(src) {}
  TCOM_MemberAccessExceptionT& operator=(const TCOM_MemberAccessExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MemberAccessExceptionT<_MemberAccessException> TCOM_MemberAccessException;

// *********************************************************************//
// DispIntf:  _MemberAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7EABA4E2-1259-3CF2-B084-9854278E5897}
// *********************************************************************//
template<class T>
class _MemberAccessExceptionDispT : public TAutoDriver<_MemberAccessException>
{
public:
  _MemberAccessExceptionDispT(){}

  _MemberAccessExceptionDispT(_MemberAccessException *pintf)
  {
    TAutoDriver<_MemberAccessException>::Bind(pintf, false);
  }

  _MemberAccessExceptionDispT(_MemberAccessExceptionPtr pintf)
  {
    TAutoDriver<_MemberAccessException>::Bind(pintf, true);
  }

  _MemberAccessExceptionDispT& operator=(_MemberAccessException *pintf)
  {
    TAutoDriver<_MemberAccessException>::Bind(pintf, false);
    return *this;
  }

  _MemberAccessExceptionDispT& operator=(_MemberAccessExceptionPtr pintf)
  {
    TAutoDriver<_MemberAccessException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MemberAccessException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MemberAccessException);
  }


};
typedef _MemberAccessExceptionDispT<_MemberAccessException> _MemberAccessExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Activator
// Interface: _Activator
// *********************************************************************//
template <class T /* _Activator */ >
class TCOM_ActivatorT : public TComInterface<_Activator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ActivatorT() {}
  TCOM_ActivatorT(_Activator *intf, bool addRef = false) : TComInterface<_Activator>(intf, addRef) {}
  TCOM_ActivatorT(const TCOM_ActivatorT& src) : TComInterface<_Activator>(src) {}
  TCOM_ActivatorT& operator=(const TCOM_ActivatorT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ActivatorT<_Activator> TCOM_Activator;

// *********************************************************************//
// SmartIntf: TCOM_AccessViolationException
// Interface: _AccessViolationException
// *********************************************************************//
template <class T /* _AccessViolationException */ >
class TCOM_AccessViolationExceptionT : public TComInterface<_AccessViolationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AccessViolationExceptionT() {}
  TCOM_AccessViolationExceptionT(_AccessViolationException *intf, bool addRef = false) : TComInterface<_AccessViolationException>(intf, addRef) {}
  TCOM_AccessViolationExceptionT(const TCOM_AccessViolationExceptionT& src) : TComInterface<_AccessViolationException>(src) {}
  TCOM_AccessViolationExceptionT& operator=(const TCOM_AccessViolationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AccessViolationExceptionT<_AccessViolationException> TCOM_AccessViolationException;

// *********************************************************************//
// DispIntf:  _AccessViolationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {13EF674A-6327-3CAF-8772-FA0395612669}
// *********************************************************************//
template<class T>
class _AccessViolationExceptionDispT : public TAutoDriver<_AccessViolationException>
{
public:
  _AccessViolationExceptionDispT(){}

  _AccessViolationExceptionDispT(_AccessViolationException *pintf)
  {
    TAutoDriver<_AccessViolationException>::Bind(pintf, false);
  }

  _AccessViolationExceptionDispT(_AccessViolationExceptionPtr pintf)
  {
    TAutoDriver<_AccessViolationException>::Bind(pintf, true);
  }

  _AccessViolationExceptionDispT& operator=(_AccessViolationException *pintf)
  {
    TAutoDriver<_AccessViolationException>::Bind(pintf, false);
    return *this;
  }

  _AccessViolationExceptionDispT& operator=(_AccessViolationExceptionPtr pintf)
  {
    TAutoDriver<_AccessViolationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AccessViolationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AccessViolationException);
  }


};
typedef _AccessViolationExceptionDispT<_AccessViolationException> _AccessViolationExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationActivator
// Interface: _ApplicationActivator
// *********************************************************************//
template <class T /* _ApplicationActivator */ >
class TCOM_ApplicationActivatorT : public TComInterface<_ApplicationActivator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationActivatorT() {}
  TCOM_ApplicationActivatorT(_ApplicationActivator *intf, bool addRef = false) : TComInterface<_ApplicationActivator>(intf, addRef) {}
  TCOM_ApplicationActivatorT(const TCOM_ApplicationActivatorT& src) : TComInterface<_ApplicationActivator>(src) {}
  TCOM_ApplicationActivatorT& operator=(const TCOM_ApplicationActivatorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationActivatorT<_ApplicationActivator> TCOM_ApplicationActivator;

// *********************************************************************//
// DispIntf:  _ApplicationActivator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D1204423-01F0-336A-8911-A7E8FBE185A3}
// *********************************************************************//
template<class T>
class _ApplicationActivatorDispT : public TAutoDriver<_ApplicationActivator>
{
public:
  _ApplicationActivatorDispT(){}

  _ApplicationActivatorDispT(_ApplicationActivator *pintf)
  {
    TAutoDriver<_ApplicationActivator>::Bind(pintf, false);
  }

  _ApplicationActivatorDispT(_ApplicationActivatorPtr pintf)
  {
    TAutoDriver<_ApplicationActivator>::Bind(pintf, true);
  }

  _ApplicationActivatorDispT& operator=(_ApplicationActivator *pintf)
  {
    TAutoDriver<_ApplicationActivator>::Bind(pintf, false);
    return *this;
  }

  _ApplicationActivatorDispT& operator=(_ApplicationActivatorPtr pintf)
  {
    TAutoDriver<_ApplicationActivator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationActivator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationActivator);
  }


};
typedef _ApplicationActivatorDispT<_ApplicationActivator> _ApplicationActivatorDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationException
// Interface: _ApplicationException
// *********************************************************************//
template <class T /* _ApplicationException */ >
class TCOM_ApplicationExceptionT : public TComInterface<_ApplicationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationExceptionT() {}
  TCOM_ApplicationExceptionT(_ApplicationException *intf, bool addRef = false) : TComInterface<_ApplicationException>(intf, addRef) {}
  TCOM_ApplicationExceptionT(const TCOM_ApplicationExceptionT& src) : TComInterface<_ApplicationException>(src) {}
  TCOM_ApplicationExceptionT& operator=(const TCOM_ApplicationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationExceptionT<_ApplicationException> TCOM_ApplicationException;

// *********************************************************************//
// DispIntf:  _ApplicationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D81130BF-D627-3B91-A7C7-CEA597093464}
// *********************************************************************//
template<class T>
class _ApplicationExceptionDispT : public TAutoDriver<_ApplicationException>
{
public:
  _ApplicationExceptionDispT(){}

  _ApplicationExceptionDispT(_ApplicationException *pintf)
  {
    TAutoDriver<_ApplicationException>::Bind(pintf, false);
  }

  _ApplicationExceptionDispT(_ApplicationExceptionPtr pintf)
  {
    TAutoDriver<_ApplicationException>::Bind(pintf, true);
  }

  _ApplicationExceptionDispT& operator=(_ApplicationException *pintf)
  {
    TAutoDriver<_ApplicationException>::Bind(pintf, false);
    return *this;
  }

  _ApplicationExceptionDispT& operator=(_ApplicationExceptionPtr pintf)
  {
    TAutoDriver<_ApplicationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationException);
  }


};
typedef _ApplicationExceptionDispT<_ApplicationException> _ApplicationExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_EventArgs
// Interface: _EventArgs
// *********************************************************************//
template <class T /* _EventArgs */ >
class TCOM_EventArgsT : public TComInterface<_EventArgs>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EventArgsT() {}
  TCOM_EventArgsT(_EventArgs *intf, bool addRef = false) : TComInterface<_EventArgs>(intf, addRef) {}
  TCOM_EventArgsT(const TCOM_EventArgsT& src) : TComInterface<_EventArgs>(src) {}
  TCOM_EventArgsT& operator=(const TCOM_EventArgsT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EventArgsT<_EventArgs> TCOM_EventArgs;

// *********************************************************************//
// DispIntf:  _EventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1F9EC719-343A-3CB3-8040-3927626777C1}
// *********************************************************************//
template<class T>
class _EventArgsDispT : public TAutoDriver<_EventArgs>
{
public:
  _EventArgsDispT(){}

  _EventArgsDispT(_EventArgs *pintf)
  {
    TAutoDriver<_EventArgs>::Bind(pintf, false);
  }

  _EventArgsDispT(_EventArgsPtr pintf)
  {
    TAutoDriver<_EventArgs>::Bind(pintf, true);
  }

  _EventArgsDispT& operator=(_EventArgs *pintf)
  {
    TAutoDriver<_EventArgs>::Bind(pintf, false);
    return *this;
  }

  _EventArgsDispT& operator=(_EventArgsPtr pintf)
  {
    TAutoDriver<_EventArgs>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EventArgs));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EventArgs);
  }


};
typedef _EventArgsDispT<_EventArgs> _EventArgsDisp;

// *********************************************************************//
// SmartIntf: TCOM_ResolveEventArgs
// Interface: _ResolveEventArgs
// *********************************************************************//
template <class T /* _ResolveEventArgs */ >
class TCOM_ResolveEventArgsT : public TComInterface<_ResolveEventArgs>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ResolveEventArgsT() {}
  TCOM_ResolveEventArgsT(_ResolveEventArgs *intf, bool addRef = false) : TComInterface<_ResolveEventArgs>(intf, addRef) {}
  TCOM_ResolveEventArgsT(const TCOM_ResolveEventArgsT& src) : TComInterface<_ResolveEventArgs>(src) {}
  TCOM_ResolveEventArgsT& operator=(const TCOM_ResolveEventArgsT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ResolveEventArgsT<_ResolveEventArgs> TCOM_ResolveEventArgs;

// *********************************************************************//
// DispIntf:  _ResolveEventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {98947CF0-77E7-328E-B709-5DD1AA1C9C96}
// *********************************************************************//
template<class T>
class _ResolveEventArgsDispT : public TAutoDriver<_ResolveEventArgs>
{
public:
  _ResolveEventArgsDispT(){}

  _ResolveEventArgsDispT(_ResolveEventArgs *pintf)
  {
    TAutoDriver<_ResolveEventArgs>::Bind(pintf, false);
  }

  _ResolveEventArgsDispT(_ResolveEventArgsPtr pintf)
  {
    TAutoDriver<_ResolveEventArgs>::Bind(pintf, true);
  }

  _ResolveEventArgsDispT& operator=(_ResolveEventArgs *pintf)
  {
    TAutoDriver<_ResolveEventArgs>::Bind(pintf, false);
    return *this;
  }

  _ResolveEventArgsDispT& operator=(_ResolveEventArgsPtr pintf)
  {
    TAutoDriver<_ResolveEventArgs>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ResolveEventArgs));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ResolveEventArgs);
  }


};
typedef _ResolveEventArgsDispT<_ResolveEventArgs> _ResolveEventArgsDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyLoadEventArgs
// Interface: _AssemblyLoadEventArgs
// *********************************************************************//
template <class T /* _AssemblyLoadEventArgs */ >
class TCOM_AssemblyLoadEventArgsT : public TComInterface<_AssemblyLoadEventArgs>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyLoadEventArgsT() {}
  TCOM_AssemblyLoadEventArgsT(_AssemblyLoadEventArgs *intf, bool addRef = false) : TComInterface<_AssemblyLoadEventArgs>(intf, addRef) {}
  TCOM_AssemblyLoadEventArgsT(const TCOM_AssemblyLoadEventArgsT& src) : TComInterface<_AssemblyLoadEventArgs>(src) {}
  TCOM_AssemblyLoadEventArgsT& operator=(const TCOM_AssemblyLoadEventArgsT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyLoadEventArgsT<_AssemblyLoadEventArgs> TCOM_AssemblyLoadEventArgs;

// *********************************************************************//
// DispIntf:  _AssemblyLoadEventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7A0325F0-22C2-31F9-8823-9B8AEE9456B1}
// *********************************************************************//
template<class T>
class _AssemblyLoadEventArgsDispT : public TAutoDriver<_AssemblyLoadEventArgs>
{
public:
  _AssemblyLoadEventArgsDispT(){}

  _AssemblyLoadEventArgsDispT(_AssemblyLoadEventArgs *pintf)
  {
    TAutoDriver<_AssemblyLoadEventArgs>::Bind(pintf, false);
  }

  _AssemblyLoadEventArgsDispT(_AssemblyLoadEventArgsPtr pintf)
  {
    TAutoDriver<_AssemblyLoadEventArgs>::Bind(pintf, true);
  }

  _AssemblyLoadEventArgsDispT& operator=(_AssemblyLoadEventArgs *pintf)
  {
    TAutoDriver<_AssemblyLoadEventArgs>::Bind(pintf, false);
    return *this;
  }

  _AssemblyLoadEventArgsDispT& operator=(_AssemblyLoadEventArgsPtr pintf)
  {
    TAutoDriver<_AssemblyLoadEventArgs>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyLoadEventArgs));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyLoadEventArgs);
  }


};
typedef _AssemblyLoadEventArgsDispT<_AssemblyLoadEventArgs> _AssemblyLoadEventArgsDisp;

// *********************************************************************//
// SmartIntf: TCOM_ResolveEventHandler
// Interface: _ResolveEventHandler
// *********************************************************************//
template <class T /* _ResolveEventHandler */ >
class TCOM_ResolveEventHandlerT : public TComInterface<_ResolveEventHandler>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ResolveEventHandlerT() {}
  TCOM_ResolveEventHandlerT(_ResolveEventHandler *intf, bool addRef = false) : TComInterface<_ResolveEventHandler>(intf, addRef) {}
  TCOM_ResolveEventHandlerT(const TCOM_ResolveEventHandlerT& src) : TComInterface<_ResolveEventHandler>(src) {}
  TCOM_ResolveEventHandlerT& operator=(const TCOM_ResolveEventHandlerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ResolveEventHandlerT<_ResolveEventHandler> TCOM_ResolveEventHandler;

// *********************************************************************//
// DispIntf:  _ResolveEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8E54A9CC-7AA4-34CA-985B-BD7D7527B110}
// *********************************************************************//
template<class T>
class _ResolveEventHandlerDispT : public TAutoDriver<_ResolveEventHandler>
{
public:
  _ResolveEventHandlerDispT(){}

  _ResolveEventHandlerDispT(_ResolveEventHandler *pintf)
  {
    TAutoDriver<_ResolveEventHandler>::Bind(pintf, false);
  }

  _ResolveEventHandlerDispT(_ResolveEventHandlerPtr pintf)
  {
    TAutoDriver<_ResolveEventHandler>::Bind(pintf, true);
  }

  _ResolveEventHandlerDispT& operator=(_ResolveEventHandler *pintf)
  {
    TAutoDriver<_ResolveEventHandler>::Bind(pintf, false);
    return *this;
  }

  _ResolveEventHandlerDispT& operator=(_ResolveEventHandlerPtr pintf)
  {
    TAutoDriver<_ResolveEventHandler>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ResolveEventHandler));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ResolveEventHandler);
  }


};
typedef _ResolveEventHandlerDispT<_ResolveEventHandler> _ResolveEventHandlerDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyLoadEventHandler
// Interface: _AssemblyLoadEventHandler
// *********************************************************************//
template <class T /* _AssemblyLoadEventHandler */ >
class TCOM_AssemblyLoadEventHandlerT : public TComInterface<_AssemblyLoadEventHandler>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyLoadEventHandlerT() {}
  TCOM_AssemblyLoadEventHandlerT(_AssemblyLoadEventHandler *intf, bool addRef = false) : TComInterface<_AssemblyLoadEventHandler>(intf, addRef) {}
  TCOM_AssemblyLoadEventHandlerT(const TCOM_AssemblyLoadEventHandlerT& src) : TComInterface<_AssemblyLoadEventHandler>(src) {}
  TCOM_AssemblyLoadEventHandlerT& operator=(const TCOM_AssemblyLoadEventHandlerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyLoadEventHandlerT<_AssemblyLoadEventHandler> TCOM_AssemblyLoadEventHandler;

// *********************************************************************//
// DispIntf:  _AssemblyLoadEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DEECE11F-A893-3E35-A4C3-DAB7FA0911EB}
// *********************************************************************//
template<class T>
class _AssemblyLoadEventHandlerDispT : public TAutoDriver<_AssemblyLoadEventHandler>
{
public:
  _AssemblyLoadEventHandlerDispT(){}

  _AssemblyLoadEventHandlerDispT(_AssemblyLoadEventHandler *pintf)
  {
    TAutoDriver<_AssemblyLoadEventHandler>::Bind(pintf, false);
  }

  _AssemblyLoadEventHandlerDispT(_AssemblyLoadEventHandlerPtr pintf)
  {
    TAutoDriver<_AssemblyLoadEventHandler>::Bind(pintf, true);
  }

  _AssemblyLoadEventHandlerDispT& operator=(_AssemblyLoadEventHandler *pintf)
  {
    TAutoDriver<_AssemblyLoadEventHandler>::Bind(pintf, false);
    return *this;
  }

  _AssemblyLoadEventHandlerDispT& operator=(_AssemblyLoadEventHandlerPtr pintf)
  {
    TAutoDriver<_AssemblyLoadEventHandler>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyLoadEventHandler));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyLoadEventHandler);
  }


};
typedef _AssemblyLoadEventHandlerDispT<_AssemblyLoadEventHandler> _AssemblyLoadEventHandlerDisp;

// *********************************************************************//
// SmartIntf: TCOM_AppDomainInitializer
// Interface: _AppDomainInitializer
// *********************************************************************//
template <class T /* _AppDomainInitializer */ >
class TCOM_AppDomainInitializerT : public TComInterface<_AppDomainInitializer>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AppDomainInitializerT() {}
  TCOM_AppDomainInitializerT(_AppDomainInitializer *intf, bool addRef = false) : TComInterface<_AppDomainInitializer>(intf, addRef) {}
  TCOM_AppDomainInitializerT(const TCOM_AppDomainInitializerT& src) : TComInterface<_AppDomainInitializer>(src) {}
  TCOM_AppDomainInitializerT& operator=(const TCOM_AppDomainInitializerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AppDomainInitializerT<_AppDomainInitializer> TCOM_AppDomainInitializer;

// *********************************************************************//
// DispIntf:  _AppDomainInitializer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5E6F9EDB-3CE1-3A56-86D9-CD2DDF7A6FFF}
// *********************************************************************//
template<class T>
class _AppDomainInitializerDispT : public TAutoDriver<_AppDomainInitializer>
{
public:
  _AppDomainInitializerDispT(){}

  _AppDomainInitializerDispT(_AppDomainInitializer *pintf)
  {
    TAutoDriver<_AppDomainInitializer>::Bind(pintf, false);
  }

  _AppDomainInitializerDispT(_AppDomainInitializerPtr pintf)
  {
    TAutoDriver<_AppDomainInitializer>::Bind(pintf, true);
  }

  _AppDomainInitializerDispT& operator=(_AppDomainInitializer *pintf)
  {
    TAutoDriver<_AppDomainInitializer>::Bind(pintf, false);
    return *this;
  }

  _AppDomainInitializerDispT& operator=(_AppDomainInitializerPtr pintf)
  {
    TAutoDriver<_AppDomainInitializer>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AppDomainInitializer));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AppDomainInitializer);
  }


};
typedef _AppDomainInitializerDispT<_AppDomainInitializer> _AppDomainInitializerDisp;

// *********************************************************************//
// SmartIntf: TCOM_MarshalByRefObject
// Interface: _MarshalByRefObject
// *********************************************************************//
template <class T /* _MarshalByRefObject */ >
class TCOM_MarshalByRefObjectT : public TComInterface<_MarshalByRefObject>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MarshalByRefObjectT() {}
  TCOM_MarshalByRefObjectT(_MarshalByRefObject *intf, bool addRef = false) : TComInterface<_MarshalByRefObject>(intf, addRef) {}
  TCOM_MarshalByRefObjectT(const TCOM_MarshalByRefObjectT& src) : TComInterface<_MarshalByRefObject>(src) {}
  TCOM_MarshalByRefObjectT& operator=(const TCOM_MarshalByRefObjectT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MarshalByRefObjectT<_MarshalByRefObject> TCOM_MarshalByRefObject;

// *********************************************************************//
// DispIntf:  _MarshalByRefObject
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2C358E27-8C1A-3C03-B086-A40465625557}
// *********************************************************************//
template<class T>
class _MarshalByRefObjectDispT : public TAutoDriver<_MarshalByRefObject>
{
public:
  _MarshalByRefObjectDispT(){}

  _MarshalByRefObjectDispT(_MarshalByRefObject *pintf)
  {
    TAutoDriver<_MarshalByRefObject>::Bind(pintf, false);
  }

  _MarshalByRefObjectDispT(_MarshalByRefObjectPtr pintf)
  {
    TAutoDriver<_MarshalByRefObject>::Bind(pintf, true);
  }

  _MarshalByRefObjectDispT& operator=(_MarshalByRefObject *pintf)
  {
    TAutoDriver<_MarshalByRefObject>::Bind(pintf, false);
    return *this;
  }

  _MarshalByRefObjectDispT& operator=(_MarshalByRefObjectPtr pintf)
  {
    TAutoDriver<_MarshalByRefObject>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MarshalByRefObject));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MarshalByRefObject);
  }


};
typedef _MarshalByRefObjectDispT<_MarshalByRefObject> _MarshalByRefObjectDisp;

// *********************************************************************//
// SmartIntf: TCOM_AppDomain
// Interface: _AppDomain
// *********************************************************************//
template <class T /* _AppDomain */ >
class TCOM_AppDomainT : public TComInterface<_AppDomain>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AppDomainT() {}
  TCOM_AppDomainT(_AppDomain *intf, bool addRef = false) : TComInterface<_AppDomain>(intf, addRef) {}
  TCOM_AppDomainT(const TCOM_AppDomainT& src) : TComInterface<_AppDomain>(src) {}
  TCOM_AppDomainT& operator=(const TCOM_AppDomainT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall InitializeLifetimeService(void);
  HRESULT         __fastcall GetLifetimeService(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetLifetimeService(void);
  HRESULT         __fastcall get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_EvidencePtr __fastcall get_Evidence(void);
  HRESULT         __fastcall add_DomainUnload(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_DomainUnload(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall add_AssemblyLoad(Mscorlib_tlb::_AssemblyLoadEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_AssemblyLoad(Mscorlib_tlb::_AssemblyLoadEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall add_ProcessExit(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_ProcessExit(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall add_TypeResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_TypeResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall add_ResourceResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_ResourceResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall add_AssemblyResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_AssemblyResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall add_UnhandledException(Mscorlib_tlb::_UnhandledExceptionEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_UnhandledException(Mscorlib_tlb::_UnhandledExceptionEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                   Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                   Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_2(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     BSTR dir/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_2(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       BSTR dir/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_3(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_3(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_4(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_4(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_5(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     BSTR dir/*[in]*/, 
                                                     Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_5(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       BSTR dir/*[in]*/, 
                                                                       Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_6(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     BSTR dir/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_6(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       BSTR dir/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_7(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_7(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_8(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     BSTR dir/*[in]*/, 
                                                     Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_8(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       BSTR dir/*[in]*/, 
                                                                       Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/);
  HRESULT         __fastcall DefineDynamicAssembly_9(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                     Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                     BSTR dir/*[in]*/, 
                                                     Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                     Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                     TOLEBOOL IsSynchronized/*[in]*/, 
                                                     Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall DefineDynamicAssembly_9(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                                                       Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                                                       BSTR dir/*[in]*/, 
                                                                       Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                                                       Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                                                       TOLEBOOL IsSynchronized/*[in]*/);
  HRESULT         __fastcall CreateInstance(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                            Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjectHandlePtr __fastcall CreateInstance(BSTR AssemblyName/*[in]*/, 
                                                           BSTR typeName/*[in]*/);
  HRESULT         __fastcall CreateInstanceFrom(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                                Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjectHandlePtr __fastcall CreateInstanceFrom(BSTR assemblyFile/*[in]*/, 
                                                               BSTR typeName/*[in]*/);
  HRESULT         __fastcall CreateInstance_2(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                              LPSAFEARRAY activationAttributes/*[in]*/, 
                                              Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjectHandlePtr __fastcall CreateInstance_2(BSTR AssemblyName/*[in]*/, 
                                                             BSTR typeName/*[in]*/, 
                                                             LPSAFEARRAY activationAttributes/*[in]*/);
  HRESULT         __fastcall CreateInstanceFrom_2(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                                  LPSAFEARRAY activationAttributes/*[in]*/, 
                                                  Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjectHandlePtr __fastcall CreateInstanceFrom_2(BSTR assemblyFile/*[in]*/, 
                                                                 BSTR typeName/*[in]*/, 
                                                                 LPSAFEARRAY activationAttributes/*[in]*/);
  HRESULT         __fastcall CreateInstance_3(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                              TOLEBOOL ignoreCase/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY args/*[in]*/, 
                                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                              LPSAFEARRAY activationAttributes/*[in]*/, 
                                              Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/, 
                                              Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjectHandlePtr __fastcall CreateInstance_3(BSTR AssemblyName/*[in]*/, 
                                                             BSTR typeName/*[in]*/, 
                                                             TOLEBOOL ignoreCase/*[in]*/, 
                                                             Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                             LPSAFEARRAY args/*[in]*/, 
                                                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                             LPSAFEARRAY activationAttributes/*[in]*/, 
                                                             Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/);
  HRESULT         __fastcall CreateInstanceFrom_3(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                                  TOLEBOOL ignoreCase/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                  Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                  LPSAFEARRAY args/*[in]*/, 
                                                  Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                  LPSAFEARRAY activationAttributes/*[in]*/, 
                                                  Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/, 
                                                  Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjectHandlePtr __fastcall CreateInstanceFrom_3(BSTR assemblyFile/*[in]*/, 
                                                                 BSTR typeName/*[in]*/, 
                                                                 TOLEBOOL ignoreCase/*[in]*/, 
                                                                 Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                                 Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                                 LPSAFEARRAY args/*[in]*/, 
                                                                 Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                                 LPSAFEARRAY activationAttributes/*[in]*/, 
                                                                 Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/);
  HRESULT         __fastcall Load(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                                  Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall Load(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/);
  HRESULT         __fastcall Load_2(BSTR assemblyString/*[in]*/, 
                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall Load_2(BSTR assemblyString/*[in]*/);
  HRESULT         __fastcall Load_3(LPSAFEARRAY rawAssembly/*[in]*/, 
                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall Load_3(LPSAFEARRAY rawAssembly/*[in]*/);
  HRESULT         __fastcall Load_4(LPSAFEARRAY rawAssembly/*[in]*/, 
                                    LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall Load_4(LPSAFEARRAY rawAssembly/*[in]*/, 
                                               LPSAFEARRAY rawSymbolStore/*[in]*/);
  HRESULT         __fastcall Load_5(LPSAFEARRAY rawAssembly/*[in]*/, 
                                    LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                    Mscorlib_tlb::_EvidencePtr securityEvidence/*[in]*/, 
                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall Load_5(LPSAFEARRAY rawAssembly/*[in]*/, 
                                               LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                               Mscorlib_tlb::_EvidencePtr securityEvidence/*[in]*/);
  HRESULT         __fastcall Load_6(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                                    Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall Load_6(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                                               Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/);
  HRESULT         __fastcall Load_7(BSTR assemblyString/*[in]*/, 
                                    Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall Load_7(BSTR assemblyString/*[in]*/, 
                                               Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/);
  HRESULT         __fastcall ExecuteAssembly(BSTR assemblyFile/*[in]*/, 
                                             Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                             long* pRetVal/*[out,retval]*/);
  long            __fastcall ExecuteAssembly(BSTR assemblyFile/*[in]*/, 
                                             Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/);
  HRESULT         __fastcall ExecuteAssembly_2(BSTR assemblyFile/*[in]*/, 
                                               long* pRetVal/*[out,retval]*/);
  long            __fastcall ExecuteAssembly_2(BSTR assemblyFile/*[in]*/);
  HRESULT         __fastcall ExecuteAssembly_3(BSTR assemblyFile/*[in]*/, 
                                               Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                               LPSAFEARRAY args/*[in]*/, 
                                               long* pRetVal/*[out,retval]*/);
  long            __fastcall ExecuteAssembly_3(BSTR assemblyFile/*[in]*/, 
                                               Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                               LPSAFEARRAY args/*[in]*/);
  HRESULT         __fastcall get_FriendlyName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_FriendlyName(void);
  HRESULT         __fastcall get_BaseDirectory(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_BaseDirectory(void);
  HRESULT         __fastcall get_RelativeSearchPath(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_RelativeSearchPath(void);
  HRESULT         __fastcall get_ShadowCopyFiles(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_ShadowCopyFiles(void);
  HRESULT         __fastcall GetAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetAssemblies(void);
  HRESULT         __fastcall AppendPrivatePath(BSTR Path/*[in]*/);
  HRESULT         __fastcall ClearPrivatePath(void);
  HRESULT         __fastcall SetShadowCopyPath(BSTR s/*[in]*/);
  HRESULT         __fastcall ClearShadowCopyPath(void);
  HRESULT         __fastcall SetCachePath(BSTR s/*[in]*/);
  HRESULT         __fastcall SetData(BSTR name/*[in]*/, TVariantInParam data/*[in]*/);
  HRESULT         __fastcall GetData(BSTR name/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetData(BSTR name/*[in]*/);
  HRESULT         __fastcall SetAppDomainPolicy(Mscorlib_tlb::_PolicyLevelPtr domainPolicy/*[in]*/);
  HRESULT         __fastcall SetThreadPrincipal(Mscorlib_tlb::IPrincipalPtr principal/*[in]*/);
  HRESULT         __fastcall SetPrincipalPolicy(Mscorlib_tlb::PrincipalPolicy policy/*[in]*/);
  HRESULT         __fastcall DoCallBack(Mscorlib_tlb::_CrossAppDomainDelegatePtr theDelegate/*[in]*/);
  HRESULT         __fastcall get_DynamicDirectory(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_DynamicDirectory(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::_EvidencePtr Evidence = {read = get_Evidence};
  __property   BSTR            FriendlyName = {read = get_FriendlyName};
  __property   BSTR            BaseDirectory = {read = get_BaseDirectory};
  __property   BSTR            RelativeSearchPath = {read = get_RelativeSearchPath};
  __property   TOLEBOOL        ShadowCopyFiles = {read = get_ShadowCopyFiles};
  __property   BSTR            DynamicDirectory = {read = get_DynamicDirectory};
};
typedef TCOM_AppDomainT<_AppDomain> TCOM_AppDomain;

typedef TComInterface<IEvidenceFactory>  TCOMIEvidenceFactory;

// *********************************************************************//
// DispIntf:  IEvidenceFactory
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {35A8F3AC-FE28-360F-A0C0-9A4D50C4682A}
// *********************************************************************//
template<class T>
class IEvidenceFactoryDispT : public TAutoDriver<IEvidenceFactory>
{
public:
  IEvidenceFactoryDispT(){}

  IEvidenceFactoryDispT(IEvidenceFactory *pintf)
  {
    TAutoDriver<IEvidenceFactory>::Bind(pintf, false);
  }

  IEvidenceFactoryDispT(IEvidenceFactoryPtr pintf)
  {
    TAutoDriver<IEvidenceFactory>::Bind(pintf, true);
  }

  IEvidenceFactoryDispT& operator=(IEvidenceFactory *pintf)
  {
    TAutoDriver<IEvidenceFactory>::Bind(pintf, false);
    return *this;
  }

  IEvidenceFactoryDispT& operator=(IEvidenceFactoryPtr pintf)
  {
    TAutoDriver<IEvidenceFactory>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_EvidencePtr __fastcall get_Evidence(void);

  __property   Mscorlib_tlb::_EvidencePtr Evidence = {read = get_Evidence};
};
typedef IEvidenceFactoryDispT<IEvidenceFactory> IEvidenceFactoryDisp;

// *********************************************************************//
// SmartIntf: TCOM_CrossAppDomainDelegate
// Interface: _CrossAppDomainDelegate
// *********************************************************************//
template <class T /* _CrossAppDomainDelegate */ >
class TCOM_CrossAppDomainDelegateT : public TComInterface<_CrossAppDomainDelegate>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CrossAppDomainDelegateT() {}
  TCOM_CrossAppDomainDelegateT(_CrossAppDomainDelegate *intf, bool addRef = false) : TComInterface<_CrossAppDomainDelegate>(intf, addRef) {}
  TCOM_CrossAppDomainDelegateT(const TCOM_CrossAppDomainDelegateT& src) : TComInterface<_CrossAppDomainDelegate>(src) {}
  TCOM_CrossAppDomainDelegateT& operator=(const TCOM_CrossAppDomainDelegateT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CrossAppDomainDelegateT<_CrossAppDomainDelegate> TCOM_CrossAppDomainDelegate;

// *********************************************************************//
// DispIntf:  _CrossAppDomainDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AF93163F-C2F4-3FAB-9FF1-728A7AAAD1CB}
// *********************************************************************//
template<class T>
class _CrossAppDomainDelegateDispT : public TAutoDriver<_CrossAppDomainDelegate>
{
public:
  _CrossAppDomainDelegateDispT(){}

  _CrossAppDomainDelegateDispT(_CrossAppDomainDelegate *pintf)
  {
    TAutoDriver<_CrossAppDomainDelegate>::Bind(pintf, false);
  }

  _CrossAppDomainDelegateDispT(_CrossAppDomainDelegatePtr pintf)
  {
    TAutoDriver<_CrossAppDomainDelegate>::Bind(pintf, true);
  }

  _CrossAppDomainDelegateDispT& operator=(_CrossAppDomainDelegate *pintf)
  {
    TAutoDriver<_CrossAppDomainDelegate>::Bind(pintf, false);
    return *this;
  }

  _CrossAppDomainDelegateDispT& operator=(_CrossAppDomainDelegatePtr pintf)
  {
    TAutoDriver<_CrossAppDomainDelegate>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CrossAppDomainDelegate));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CrossAppDomainDelegate);
  }


};
typedef _CrossAppDomainDelegateDispT<_CrossAppDomainDelegate> _CrossAppDomainDelegateDisp;

// *********************************************************************//
// SmartIntf: TCOM_AppDomainManager
// Interface: _AppDomainManager
// *********************************************************************//
template <class T /* _AppDomainManager */ >
class TCOM_AppDomainManagerT : public TComInterface<_AppDomainManager>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AppDomainManagerT() {}
  TCOM_AppDomainManagerT(_AppDomainManager *intf, bool addRef = false) : TComInterface<_AppDomainManager>(intf, addRef) {}
  TCOM_AppDomainManagerT(const TCOM_AppDomainManagerT& src) : TComInterface<_AppDomainManager>(src) {}
  TCOM_AppDomainManagerT& operator=(const TCOM_AppDomainManagerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AppDomainManagerT<_AppDomainManager> TCOM_AppDomainManager;

// *********************************************************************//
// DispIntf:  _AppDomainManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {63E53E04-D31B-3099-9F0C-C7A1C883C1D9}
// *********************************************************************//
template<class T>
class _AppDomainManagerDispT : public TAutoDriver<_AppDomainManager>
{
public:
  _AppDomainManagerDispT(){}

  _AppDomainManagerDispT(_AppDomainManager *pintf)
  {
    TAutoDriver<_AppDomainManager>::Bind(pintf, false);
  }

  _AppDomainManagerDispT(_AppDomainManagerPtr pintf)
  {
    TAutoDriver<_AppDomainManager>::Bind(pintf, true);
  }

  _AppDomainManagerDispT& operator=(_AppDomainManager *pintf)
  {
    TAutoDriver<_AppDomainManager>::Bind(pintf, false);
    return *this;
  }

  _AppDomainManagerDispT& operator=(_AppDomainManagerPtr pintf)
  {
    TAutoDriver<_AppDomainManager>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AppDomainManager));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AppDomainManager);
  }


};
typedef _AppDomainManagerDispT<_AppDomainManager> _AppDomainManagerDisp;

// *********************************************************************//
// SmartIntf: TCOMIAppDomainSetup
// Interface: IAppDomainSetup
// *********************************************************************//
template <class T /* IAppDomainSetup */ >
class TCOMIAppDomainSetupT : public TComInterface<IAppDomainSetup>, public TComInterfaceBase<IUnknown>
{
public:
  TCOMIAppDomainSetupT() {}
  TCOMIAppDomainSetupT(IAppDomainSetup *intf, bool addRef = false) : TComInterface<IAppDomainSetup>(intf, addRef) {}
  TCOMIAppDomainSetupT(const TCOMIAppDomainSetupT& src) : TComInterface<IAppDomainSetup>(src) {}
  TCOMIAppDomainSetupT& operator=(const TCOMIAppDomainSetupT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_ApplicationBase(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ApplicationBase(void);
  HRESULT         __fastcall set_ApplicationBase(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_ApplicationName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ApplicationName(void);
  HRESULT         __fastcall set_ApplicationName(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_CachePath(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_CachePath(void);
  HRESULT         __fastcall set_CachePath(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_ConfigurationFile(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ConfigurationFile(void);
  HRESULT         __fastcall set_ConfigurationFile(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_DynamicBase(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_DynamicBase(void);
  HRESULT         __fastcall set_DynamicBase(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_LicenseFile(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_LicenseFile(void);
  HRESULT         __fastcall set_LicenseFile(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_PrivateBinPath(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_PrivateBinPath(void);
  HRESULT         __fastcall set_PrivateBinPath(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_PrivateBinPathProbe(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_PrivateBinPathProbe(void);
  HRESULT         __fastcall set_PrivateBinPathProbe(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_ShadowCopyDirectories(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ShadowCopyDirectories(void);
  HRESULT         __fastcall set_ShadowCopyDirectories(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_ShadowCopyFiles(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ShadowCopyFiles(void);
  HRESULT         __fastcall set_ShadowCopyFiles(BSTR pRetVal/*[in]*/);

  __property   BSTR            ApplicationBase = {read = get_ApplicationBase, write = set_ApplicationBase};
  __property   BSTR            ApplicationName = {read = get_ApplicationName, write = set_ApplicationName};
  __property   BSTR            CachePath = {read = get_CachePath, write = set_CachePath};
  __property   BSTR            ConfigurationFile = {read = get_ConfigurationFile, write = set_ConfigurationFile};
  __property   BSTR            DynamicBase = {read = get_DynamicBase, write = set_DynamicBase};
  __property   BSTR            LicenseFile = {read = get_LicenseFile, write = set_LicenseFile};
  __property   BSTR            PrivateBinPath = {read = get_PrivateBinPath, write = set_PrivateBinPath};
  __property   BSTR            PrivateBinPathProbe = {read = get_PrivateBinPathProbe, write = set_PrivateBinPathProbe};
  __property   BSTR            ShadowCopyDirectories = {read = get_ShadowCopyDirectories, write = set_ShadowCopyDirectories};
  __property   BSTR            ShadowCopyFiles = {read = get_ShadowCopyFiles, write = set_ShadowCopyFiles};
};
typedef TCOMIAppDomainSetupT<IAppDomainSetup> TCOMIAppDomainSetup;

// *********************************************************************//
// SmartIntf: TCOM_Attribute
// Interface: _Attribute
// *********************************************************************//
template <class T /* _Attribute */ >
class TCOM_AttributeT : public TComInterface<_Attribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AttributeT() {}
  TCOM_AttributeT(_Attribute *intf, bool addRef = false) : TComInterface<_Attribute>(intf, addRef) {}
  TCOM_AttributeT(const TCOM_AttributeT& src) : TComInterface<_Attribute>(src) {}
  TCOM_AttributeT& operator=(const TCOM_AttributeT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_AttributeT<_Attribute> TCOM_Attribute;

// *********************************************************************//
// SmartIntf: TCOM_LoaderOptimizationAttribute
// Interface: _LoaderOptimizationAttribute
// *********************************************************************//
template <class T /* _LoaderOptimizationAttribute */ >
class TCOM_LoaderOptimizationAttributeT : public TComInterface<_LoaderOptimizationAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LoaderOptimizationAttributeT() {}
  TCOM_LoaderOptimizationAttributeT(_LoaderOptimizationAttribute *intf, bool addRef = false) : TComInterface<_LoaderOptimizationAttribute>(intf, addRef) {}
  TCOM_LoaderOptimizationAttributeT(const TCOM_LoaderOptimizationAttributeT& src) : TComInterface<_LoaderOptimizationAttribute>(src) {}
  TCOM_LoaderOptimizationAttributeT& operator=(const TCOM_LoaderOptimizationAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_LoaderOptimizationAttributeT<_LoaderOptimizationAttribute> TCOM_LoaderOptimizationAttribute;

// *********************************************************************//
// DispIntf:  _LoaderOptimizationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CE59D7AD-05CA-33B4-A1DD-06028D46E9D2}
// *********************************************************************//
template<class T>
class _LoaderOptimizationAttributeDispT : public TAutoDriver<_LoaderOptimizationAttribute>
{
public:
  _LoaderOptimizationAttributeDispT(){}

  _LoaderOptimizationAttributeDispT(_LoaderOptimizationAttribute *pintf)
  {
    TAutoDriver<_LoaderOptimizationAttribute>::Bind(pintf, false);
  }

  _LoaderOptimizationAttributeDispT(_LoaderOptimizationAttributePtr pintf)
  {
    TAutoDriver<_LoaderOptimizationAttribute>::Bind(pintf, true);
  }

  _LoaderOptimizationAttributeDispT& operator=(_LoaderOptimizationAttribute *pintf)
  {
    TAutoDriver<_LoaderOptimizationAttribute>::Bind(pintf, false);
    return *this;
  }

  _LoaderOptimizationAttributeDispT& operator=(_LoaderOptimizationAttributePtr pintf)
  {
    TAutoDriver<_LoaderOptimizationAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_LoaderOptimizationAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_LoaderOptimizationAttribute);
  }


};
typedef _LoaderOptimizationAttributeDispT<_LoaderOptimizationAttribute> _LoaderOptimizationAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AppDomainUnloadedException
// Interface: _AppDomainUnloadedException
// *********************************************************************//
template <class T /* _AppDomainUnloadedException */ >
class TCOM_AppDomainUnloadedExceptionT : public TComInterface<_AppDomainUnloadedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AppDomainUnloadedExceptionT() {}
  TCOM_AppDomainUnloadedExceptionT(_AppDomainUnloadedException *intf, bool addRef = false) : TComInterface<_AppDomainUnloadedException>(intf, addRef) {}
  TCOM_AppDomainUnloadedExceptionT(const TCOM_AppDomainUnloadedExceptionT& src) : TComInterface<_AppDomainUnloadedException>(src) {}
  TCOM_AppDomainUnloadedExceptionT& operator=(const TCOM_AppDomainUnloadedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AppDomainUnloadedExceptionT<_AppDomainUnloadedException> TCOM_AppDomainUnloadedException;

// *********************************************************************//
// DispIntf:  _AppDomainUnloadedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6E96AA70-9FFB-399D-96BF-A68436095C54}
// *********************************************************************//
template<class T>
class _AppDomainUnloadedExceptionDispT : public TAutoDriver<_AppDomainUnloadedException>
{
public:
  _AppDomainUnloadedExceptionDispT(){}

  _AppDomainUnloadedExceptionDispT(_AppDomainUnloadedException *pintf)
  {
    TAutoDriver<_AppDomainUnloadedException>::Bind(pintf, false);
  }

  _AppDomainUnloadedExceptionDispT(_AppDomainUnloadedExceptionPtr pintf)
  {
    TAutoDriver<_AppDomainUnloadedException>::Bind(pintf, true);
  }

  _AppDomainUnloadedExceptionDispT& operator=(_AppDomainUnloadedException *pintf)
  {
    TAutoDriver<_AppDomainUnloadedException>::Bind(pintf, false);
    return *this;
  }

  _AppDomainUnloadedExceptionDispT& operator=(_AppDomainUnloadedExceptionPtr pintf)
  {
    TAutoDriver<_AppDomainUnloadedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AppDomainUnloadedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AppDomainUnloadedException);
  }


};
typedef _AppDomainUnloadedExceptionDispT<_AppDomainUnloadedException> _AppDomainUnloadedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ActivationArguments
// Interface: _ActivationArguments
// *********************************************************************//
template <class T /* _ActivationArguments */ >
class TCOM_ActivationArgumentsT : public TComInterface<_ActivationArguments>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ActivationArgumentsT() {}
  TCOM_ActivationArgumentsT(_ActivationArguments *intf, bool addRef = false) : TComInterface<_ActivationArguments>(intf, addRef) {}
  TCOM_ActivationArgumentsT(const TCOM_ActivationArgumentsT& src) : TComInterface<_ActivationArguments>(src) {}
  TCOM_ActivationArgumentsT& operator=(const TCOM_ActivationArgumentsT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ActivationArgumentsT<_ActivationArguments> TCOM_ActivationArguments;

// *********************************************************************//
// DispIntf:  _ActivationArguments
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CFD9CA27-F0BA-388A-ACDE-B7E20FCAD79C}
// *********************************************************************//
template<class T>
class _ActivationArgumentsDispT : public TAutoDriver<_ActivationArguments>
{
public:
  _ActivationArgumentsDispT(){}

  _ActivationArgumentsDispT(_ActivationArguments *pintf)
  {
    TAutoDriver<_ActivationArguments>::Bind(pintf, false);
  }

  _ActivationArgumentsDispT(_ActivationArgumentsPtr pintf)
  {
    TAutoDriver<_ActivationArguments>::Bind(pintf, true);
  }

  _ActivationArgumentsDispT& operator=(_ActivationArguments *pintf)
  {
    TAutoDriver<_ActivationArguments>::Bind(pintf, false);
    return *this;
  }

  _ActivationArgumentsDispT& operator=(_ActivationArgumentsPtr pintf)
  {
    TAutoDriver<_ActivationArguments>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ActivationArguments));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ActivationArguments);
  }


};
typedef _ActivationArgumentsDispT<_ActivationArguments> _ActivationArgumentsDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationId
// Interface: _ApplicationId
// *********************************************************************//
template <class T /* _ApplicationId */ >
class TCOM_ApplicationIdT : public TComInterface<_ApplicationId>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationIdT() {}
  TCOM_ApplicationIdT(_ApplicationId *intf, bool addRef = false) : TComInterface<_ApplicationId>(intf, addRef) {}
  TCOM_ApplicationIdT(const TCOM_ApplicationIdT& src) : TComInterface<_ApplicationId>(src) {}
  TCOM_ApplicationIdT& operator=(const TCOM_ApplicationIdT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationIdT<_ApplicationId> TCOM_ApplicationId;

// *********************************************************************//
// DispIntf:  _ApplicationId
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2F218F95-4215-3CC6-8A51-BD2770C090E4}
// *********************************************************************//
template<class T>
class _ApplicationIdDispT : public TAutoDriver<_ApplicationId>
{
public:
  _ApplicationIdDispT(){}

  _ApplicationIdDispT(_ApplicationId *pintf)
  {
    TAutoDriver<_ApplicationId>::Bind(pintf, false);
  }

  _ApplicationIdDispT(_ApplicationIdPtr pintf)
  {
    TAutoDriver<_ApplicationId>::Bind(pintf, true);
  }

  _ApplicationIdDispT& operator=(_ApplicationId *pintf)
  {
    TAutoDriver<_ApplicationId>::Bind(pintf, false);
    return *this;
  }

  _ApplicationIdDispT& operator=(_ApplicationIdPtr pintf)
  {
    TAutoDriver<_ApplicationId>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationId));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationId);
  }


};
typedef _ApplicationIdDispT<_ApplicationId> _ApplicationIdDisp;

// *********************************************************************//
// SmartIntf: TCOM_ArgumentException
// Interface: _ArgumentException
// *********************************************************************//
template <class T /* _ArgumentException */ >
class TCOM_ArgumentExceptionT : public TComInterface<_ArgumentException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ArgumentExceptionT() {}
  TCOM_ArgumentExceptionT(_ArgumentException *intf, bool addRef = false) : TComInterface<_ArgumentException>(intf, addRef) {}
  TCOM_ArgumentExceptionT(const TCOM_ArgumentExceptionT& src) : TComInterface<_ArgumentException>(src) {}
  TCOM_ArgumentExceptionT& operator=(const TCOM_ArgumentExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ArgumentExceptionT<_ArgumentException> TCOM_ArgumentException;

// *********************************************************************//
// DispIntf:  _ArgumentException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4DB2C2B7-CBC2-3185-B966-875D4625B1A8}
// *********************************************************************//
template<class T>
class _ArgumentExceptionDispT : public TAutoDriver<_ArgumentException>
{
public:
  _ArgumentExceptionDispT(){}

  _ArgumentExceptionDispT(_ArgumentException *pintf)
  {
    TAutoDriver<_ArgumentException>::Bind(pintf, false);
  }

  _ArgumentExceptionDispT(_ArgumentExceptionPtr pintf)
  {
    TAutoDriver<_ArgumentException>::Bind(pintf, true);
  }

  _ArgumentExceptionDispT& operator=(_ArgumentException *pintf)
  {
    TAutoDriver<_ArgumentException>::Bind(pintf, false);
    return *this;
  }

  _ArgumentExceptionDispT& operator=(_ArgumentExceptionPtr pintf)
  {
    TAutoDriver<_ArgumentException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ArgumentException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ArgumentException);
  }


};
typedef _ArgumentExceptionDispT<_ArgumentException> _ArgumentExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ArgumentNullException
// Interface: _ArgumentNullException
// *********************************************************************//
template <class T /* _ArgumentNullException */ >
class TCOM_ArgumentNullExceptionT : public TComInterface<_ArgumentNullException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ArgumentNullExceptionT() {}
  TCOM_ArgumentNullExceptionT(_ArgumentNullException *intf, bool addRef = false) : TComInterface<_ArgumentNullException>(intf, addRef) {}
  TCOM_ArgumentNullExceptionT(const TCOM_ArgumentNullExceptionT& src) : TComInterface<_ArgumentNullException>(src) {}
  TCOM_ArgumentNullExceptionT& operator=(const TCOM_ArgumentNullExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ArgumentNullExceptionT<_ArgumentNullException> TCOM_ArgumentNullException;

// *********************************************************************//
// DispIntf:  _ArgumentNullException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C991949B-E623-3F24-885C-BBB01FF43564}
// *********************************************************************//
template<class T>
class _ArgumentNullExceptionDispT : public TAutoDriver<_ArgumentNullException>
{
public:
  _ArgumentNullExceptionDispT(){}

  _ArgumentNullExceptionDispT(_ArgumentNullException *pintf)
  {
    TAutoDriver<_ArgumentNullException>::Bind(pintf, false);
  }

  _ArgumentNullExceptionDispT(_ArgumentNullExceptionPtr pintf)
  {
    TAutoDriver<_ArgumentNullException>::Bind(pintf, true);
  }

  _ArgumentNullExceptionDispT& operator=(_ArgumentNullException *pintf)
  {
    TAutoDriver<_ArgumentNullException>::Bind(pintf, false);
    return *this;
  }

  _ArgumentNullExceptionDispT& operator=(_ArgumentNullExceptionPtr pintf)
  {
    TAutoDriver<_ArgumentNullException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ArgumentNullException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ArgumentNullException);
  }


};
typedef _ArgumentNullExceptionDispT<_ArgumentNullException> _ArgumentNullExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ArgumentOutOfRangeException
// Interface: _ArgumentOutOfRangeException
// *********************************************************************//
template <class T /* _ArgumentOutOfRangeException */ >
class TCOM_ArgumentOutOfRangeExceptionT : public TComInterface<_ArgumentOutOfRangeException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ArgumentOutOfRangeExceptionT() {}
  TCOM_ArgumentOutOfRangeExceptionT(_ArgumentOutOfRangeException *intf, bool addRef = false) : TComInterface<_ArgumentOutOfRangeException>(intf, addRef) {}
  TCOM_ArgumentOutOfRangeExceptionT(const TCOM_ArgumentOutOfRangeExceptionT& src) : TComInterface<_ArgumentOutOfRangeException>(src) {}
  TCOM_ArgumentOutOfRangeExceptionT& operator=(const TCOM_ArgumentOutOfRangeExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ArgumentOutOfRangeExceptionT<_ArgumentOutOfRangeException> TCOM_ArgumentOutOfRangeException;

// *********************************************************************//
// DispIntf:  _ArgumentOutOfRangeException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77DA3028-BC45-3E82-BF76-2C123EE2C021}
// *********************************************************************//
template<class T>
class _ArgumentOutOfRangeExceptionDispT : public TAutoDriver<_ArgumentOutOfRangeException>
{
public:
  _ArgumentOutOfRangeExceptionDispT(){}

  _ArgumentOutOfRangeExceptionDispT(_ArgumentOutOfRangeException *pintf)
  {
    TAutoDriver<_ArgumentOutOfRangeException>::Bind(pintf, false);
  }

  _ArgumentOutOfRangeExceptionDispT(_ArgumentOutOfRangeExceptionPtr pintf)
  {
    TAutoDriver<_ArgumentOutOfRangeException>::Bind(pintf, true);
  }

  _ArgumentOutOfRangeExceptionDispT& operator=(_ArgumentOutOfRangeException *pintf)
  {
    TAutoDriver<_ArgumentOutOfRangeException>::Bind(pintf, false);
    return *this;
  }

  _ArgumentOutOfRangeExceptionDispT& operator=(_ArgumentOutOfRangeExceptionPtr pintf)
  {
    TAutoDriver<_ArgumentOutOfRangeException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ArgumentOutOfRangeException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ArgumentOutOfRangeException);
  }


};
typedef _ArgumentOutOfRangeExceptionDispT<_ArgumentOutOfRangeException> _ArgumentOutOfRangeExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ArithmeticException
// Interface: _ArithmeticException
// *********************************************************************//
template <class T /* _ArithmeticException */ >
class TCOM_ArithmeticExceptionT : public TComInterface<_ArithmeticException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ArithmeticExceptionT() {}
  TCOM_ArithmeticExceptionT(_ArithmeticException *intf, bool addRef = false) : TComInterface<_ArithmeticException>(intf, addRef) {}
  TCOM_ArithmeticExceptionT(const TCOM_ArithmeticExceptionT& src) : TComInterface<_ArithmeticException>(src) {}
  TCOM_ArithmeticExceptionT& operator=(const TCOM_ArithmeticExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ArithmeticExceptionT<_ArithmeticException> TCOM_ArithmeticException;

// *********************************************************************//
// DispIntf:  _ArithmeticException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9B012CF1-ACF6-3389-A336-C023040C62A2}
// *********************************************************************//
template<class T>
class _ArithmeticExceptionDispT : public TAutoDriver<_ArithmeticException>
{
public:
  _ArithmeticExceptionDispT(){}

  _ArithmeticExceptionDispT(_ArithmeticException *pintf)
  {
    TAutoDriver<_ArithmeticException>::Bind(pintf, false);
  }

  _ArithmeticExceptionDispT(_ArithmeticExceptionPtr pintf)
  {
    TAutoDriver<_ArithmeticException>::Bind(pintf, true);
  }

  _ArithmeticExceptionDispT& operator=(_ArithmeticException *pintf)
  {
    TAutoDriver<_ArithmeticException>::Bind(pintf, false);
    return *this;
  }

  _ArithmeticExceptionDispT& operator=(_ArithmeticExceptionPtr pintf)
  {
    TAutoDriver<_ArithmeticException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ArithmeticException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ArithmeticException);
  }


};
typedef _ArithmeticExceptionDispT<_ArithmeticException> _ArithmeticExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ArrayTypeMismatchException
// Interface: _ArrayTypeMismatchException
// *********************************************************************//
template <class T /* _ArrayTypeMismatchException */ >
class TCOM_ArrayTypeMismatchExceptionT : public TComInterface<_ArrayTypeMismatchException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ArrayTypeMismatchExceptionT() {}
  TCOM_ArrayTypeMismatchExceptionT(_ArrayTypeMismatchException *intf, bool addRef = false) : TComInterface<_ArrayTypeMismatchException>(intf, addRef) {}
  TCOM_ArrayTypeMismatchExceptionT(const TCOM_ArrayTypeMismatchExceptionT& src) : TComInterface<_ArrayTypeMismatchException>(src) {}
  TCOM_ArrayTypeMismatchExceptionT& operator=(const TCOM_ArrayTypeMismatchExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ArrayTypeMismatchExceptionT<_ArrayTypeMismatchException> TCOM_ArrayTypeMismatchException;

// *********************************************************************//
// DispIntf:  _ArrayTypeMismatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DD7488A6-1B3F-3823-9556-C2772B15150F}
// *********************************************************************//
template<class T>
class _ArrayTypeMismatchExceptionDispT : public TAutoDriver<_ArrayTypeMismatchException>
{
public:
  _ArrayTypeMismatchExceptionDispT(){}

  _ArrayTypeMismatchExceptionDispT(_ArrayTypeMismatchException *pintf)
  {
    TAutoDriver<_ArrayTypeMismatchException>::Bind(pintf, false);
  }

  _ArrayTypeMismatchExceptionDispT(_ArrayTypeMismatchExceptionPtr pintf)
  {
    TAutoDriver<_ArrayTypeMismatchException>::Bind(pintf, true);
  }

  _ArrayTypeMismatchExceptionDispT& operator=(_ArrayTypeMismatchException *pintf)
  {
    TAutoDriver<_ArrayTypeMismatchException>::Bind(pintf, false);
    return *this;
  }

  _ArrayTypeMismatchExceptionDispT& operator=(_ArrayTypeMismatchExceptionPtr pintf)
  {
    TAutoDriver<_ArrayTypeMismatchException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ArrayTypeMismatchException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ArrayTypeMismatchException);
  }


};
typedef _ArrayTypeMismatchExceptionDispT<_ArrayTypeMismatchException> _ArrayTypeMismatchExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_AsyncCallback
// Interface: _AsyncCallback
// *********************************************************************//
template <class T /* _AsyncCallback */ >
class TCOM_AsyncCallbackT : public TComInterface<_AsyncCallback>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AsyncCallbackT() {}
  TCOM_AsyncCallbackT(_AsyncCallback *intf, bool addRef = false) : TComInterface<_AsyncCallback>(intf, addRef) {}
  TCOM_AsyncCallbackT(const TCOM_AsyncCallbackT& src) : TComInterface<_AsyncCallback>(src) {}
  TCOM_AsyncCallbackT& operator=(const TCOM_AsyncCallbackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AsyncCallbackT<_AsyncCallback> TCOM_AsyncCallback;

// *********************************************************************//
// DispIntf:  _AsyncCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3612706E-0239-35FD-B900-0819D16D442D}
// *********************************************************************//
template<class T>
class _AsyncCallbackDispT : public TAutoDriver<_AsyncCallback>
{
public:
  _AsyncCallbackDispT(){}

  _AsyncCallbackDispT(_AsyncCallback *pintf)
  {
    TAutoDriver<_AsyncCallback>::Bind(pintf, false);
  }

  _AsyncCallbackDispT(_AsyncCallbackPtr pintf)
  {
    TAutoDriver<_AsyncCallback>::Bind(pintf, true);
  }

  _AsyncCallbackDispT& operator=(_AsyncCallback *pintf)
  {
    TAutoDriver<_AsyncCallback>::Bind(pintf, false);
    return *this;
  }

  _AsyncCallbackDispT& operator=(_AsyncCallbackPtr pintf)
  {
    TAutoDriver<_AsyncCallback>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AsyncCallback));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AsyncCallback);
  }


};
typedef _AsyncCallbackDispT<_AsyncCallback> _AsyncCallbackDisp;

// *********************************************************************//
// SmartIntf: TCOM_AttributeUsageAttribute
// Interface: _AttributeUsageAttribute
// *********************************************************************//
template <class T /* _AttributeUsageAttribute */ >
class TCOM_AttributeUsageAttributeT : public TComInterface<_AttributeUsageAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AttributeUsageAttributeT() {}
  TCOM_AttributeUsageAttributeT(_AttributeUsageAttribute *intf, bool addRef = false) : TComInterface<_AttributeUsageAttribute>(intf, addRef) {}
  TCOM_AttributeUsageAttributeT(const TCOM_AttributeUsageAttributeT& src) : TComInterface<_AttributeUsageAttribute>(src) {}
  TCOM_AttributeUsageAttributeT& operator=(const TCOM_AttributeUsageAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AttributeUsageAttributeT<_AttributeUsageAttribute> TCOM_AttributeUsageAttribute;

// *********************************************************************//
// DispIntf:  _AttributeUsageAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A902A192-49BA-3EC8-B444-AF5F7743F61A}
// *********************************************************************//
template<class T>
class _AttributeUsageAttributeDispT : public TAutoDriver<_AttributeUsageAttribute>
{
public:
  _AttributeUsageAttributeDispT(){}

  _AttributeUsageAttributeDispT(_AttributeUsageAttribute *pintf)
  {
    TAutoDriver<_AttributeUsageAttribute>::Bind(pintf, false);
  }

  _AttributeUsageAttributeDispT(_AttributeUsageAttributePtr pintf)
  {
    TAutoDriver<_AttributeUsageAttribute>::Bind(pintf, true);
  }

  _AttributeUsageAttributeDispT& operator=(_AttributeUsageAttribute *pintf)
  {
    TAutoDriver<_AttributeUsageAttribute>::Bind(pintf, false);
    return *this;
  }

  _AttributeUsageAttributeDispT& operator=(_AttributeUsageAttributePtr pintf)
  {
    TAutoDriver<_AttributeUsageAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AttributeUsageAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AttributeUsageAttribute);
  }


};
typedef _AttributeUsageAttributeDispT<_AttributeUsageAttribute> _AttributeUsageAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_BadImageFormatException
// Interface: _BadImageFormatException
// *********************************************************************//
template <class T /* _BadImageFormatException */ >
class TCOM_BadImageFormatExceptionT : public TComInterface<_BadImageFormatException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BadImageFormatExceptionT() {}
  TCOM_BadImageFormatExceptionT(_BadImageFormatException *intf, bool addRef = false) : TComInterface<_BadImageFormatException>(intf, addRef) {}
  TCOM_BadImageFormatExceptionT(const TCOM_BadImageFormatExceptionT& src) : TComInterface<_BadImageFormatException>(src) {}
  TCOM_BadImageFormatExceptionT& operator=(const TCOM_BadImageFormatExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BadImageFormatExceptionT<_BadImageFormatException> TCOM_BadImageFormatException;

// *********************************************************************//
// DispIntf:  _BadImageFormatException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F98BCE04-4A4B-398C-A512-FD8348D51E3B}
// *********************************************************************//
template<class T>
class _BadImageFormatExceptionDispT : public TAutoDriver<_BadImageFormatException>
{
public:
  _BadImageFormatExceptionDispT(){}

  _BadImageFormatExceptionDispT(_BadImageFormatException *pintf)
  {
    TAutoDriver<_BadImageFormatException>::Bind(pintf, false);
  }

  _BadImageFormatExceptionDispT(_BadImageFormatExceptionPtr pintf)
  {
    TAutoDriver<_BadImageFormatException>::Bind(pintf, true);
  }

  _BadImageFormatExceptionDispT& operator=(_BadImageFormatException *pintf)
  {
    TAutoDriver<_BadImageFormatException>::Bind(pintf, false);
    return *this;
  }

  _BadImageFormatExceptionDispT& operator=(_BadImageFormatExceptionPtr pintf)
  {
    TAutoDriver<_BadImageFormatException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BadImageFormatException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BadImageFormatException);
  }


};
typedef _BadImageFormatExceptionDispT<_BadImageFormatException> _BadImageFormatExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Buffer
// Interface: _Buffer
// *********************************************************************//
template <class T /* _Buffer */ >
class TCOM_BufferT : public TComInterface<_Buffer>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BufferT() {}
  TCOM_BufferT(_Buffer *intf, bool addRef = false) : TComInterface<_Buffer>(intf, addRef) {}
  TCOM_BufferT(const TCOM_BufferT& src) : TComInterface<_Buffer>(src) {}
  TCOM_BufferT& operator=(const TCOM_BufferT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BufferT<_Buffer> TCOM_Buffer;

// *********************************************************************//
// DispIntf:  _Buffer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F036BCA4-F8DF-3682-8290-75285CE7456C}
// *********************************************************************//
template<class T>
class _BufferDispT : public TAutoDriver<_Buffer>
{
public:
  _BufferDispT(){}

  _BufferDispT(_Buffer *pintf)
  {
    TAutoDriver<_Buffer>::Bind(pintf, false);
  }

  _BufferDispT(_BufferPtr pintf)
  {
    TAutoDriver<_Buffer>::Bind(pintf, true);
  }

  _BufferDispT& operator=(_Buffer *pintf)
  {
    TAutoDriver<_Buffer>::Bind(pintf, false);
    return *this;
  }

  _BufferDispT& operator=(_BufferPtr pintf)
  {
    TAutoDriver<_Buffer>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Buffer));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Buffer);
  }


};
typedef _BufferDispT<_Buffer> _BufferDisp;

// *********************************************************************//
// SmartIntf: TCOM_CannotUnloadAppDomainException
// Interface: _CannotUnloadAppDomainException
// *********************************************************************//
template <class T /* _CannotUnloadAppDomainException */ >
class TCOM_CannotUnloadAppDomainExceptionT : public TComInterface<_CannotUnloadAppDomainException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CannotUnloadAppDomainExceptionT() {}
  TCOM_CannotUnloadAppDomainExceptionT(_CannotUnloadAppDomainException *intf, bool addRef = false) : TComInterface<_CannotUnloadAppDomainException>(intf, addRef) {}
  TCOM_CannotUnloadAppDomainExceptionT(const TCOM_CannotUnloadAppDomainExceptionT& src) : TComInterface<_CannotUnloadAppDomainException>(src) {}
  TCOM_CannotUnloadAppDomainExceptionT& operator=(const TCOM_CannotUnloadAppDomainExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CannotUnloadAppDomainExceptionT<_CannotUnloadAppDomainException> TCOM_CannotUnloadAppDomainException;

// *********************************************************************//
// DispIntf:  _CannotUnloadAppDomainException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6D4B6ADB-B9FA-3809-B5EA-FA57B56C546F}
// *********************************************************************//
template<class T>
class _CannotUnloadAppDomainExceptionDispT : public TAutoDriver<_CannotUnloadAppDomainException>
{
public:
  _CannotUnloadAppDomainExceptionDispT(){}

  _CannotUnloadAppDomainExceptionDispT(_CannotUnloadAppDomainException *pintf)
  {
    TAutoDriver<_CannotUnloadAppDomainException>::Bind(pintf, false);
  }

  _CannotUnloadAppDomainExceptionDispT(_CannotUnloadAppDomainExceptionPtr pintf)
  {
    TAutoDriver<_CannotUnloadAppDomainException>::Bind(pintf, true);
  }

  _CannotUnloadAppDomainExceptionDispT& operator=(_CannotUnloadAppDomainException *pintf)
  {
    TAutoDriver<_CannotUnloadAppDomainException>::Bind(pintf, false);
    return *this;
  }

  _CannotUnloadAppDomainExceptionDispT& operator=(_CannotUnloadAppDomainExceptionPtr pintf)
  {
    TAutoDriver<_CannotUnloadAppDomainException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CannotUnloadAppDomainException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CannotUnloadAppDomainException);
  }


};
typedef _CannotUnloadAppDomainExceptionDispT<_CannotUnloadAppDomainException> _CannotUnloadAppDomainExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_CharEnumerator
// Interface: _CharEnumerator
// *********************************************************************//
template <class T /* _CharEnumerator */ >
class TCOM_CharEnumeratorT : public TComInterface<_CharEnumerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CharEnumeratorT() {}
  TCOM_CharEnumeratorT(_CharEnumerator *intf, bool addRef = false) : TComInterface<_CharEnumerator>(intf, addRef) {}
  TCOM_CharEnumeratorT(const TCOM_CharEnumeratorT& src) : TComInterface<_CharEnumerator>(src) {}
  TCOM_CharEnumeratorT& operator=(const TCOM_CharEnumeratorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CharEnumeratorT<_CharEnumerator> TCOM_CharEnumerator;

// *********************************************************************//
// DispIntf:  _CharEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1DD627FC-89E3-384F-BB9D-58CB4EFB9456}
// *********************************************************************//
template<class T>
class _CharEnumeratorDispT : public TAutoDriver<_CharEnumerator>
{
public:
  _CharEnumeratorDispT(){}

  _CharEnumeratorDispT(_CharEnumerator *pintf)
  {
    TAutoDriver<_CharEnumerator>::Bind(pintf, false);
  }

  _CharEnumeratorDispT(_CharEnumeratorPtr pintf)
  {
    TAutoDriver<_CharEnumerator>::Bind(pintf, true);
  }

  _CharEnumeratorDispT& operator=(_CharEnumerator *pintf)
  {
    TAutoDriver<_CharEnumerator>::Bind(pintf, false);
    return *this;
  }

  _CharEnumeratorDispT& operator=(_CharEnumeratorPtr pintf)
  {
    TAutoDriver<_CharEnumerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CharEnumerator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CharEnumerator);
  }


};
typedef _CharEnumeratorDispT<_CharEnumerator> _CharEnumeratorDisp;

// *********************************************************************//
// SmartIntf: TCOM_CLSCompliantAttribute
// Interface: _CLSCompliantAttribute
// *********************************************************************//
template <class T /* _CLSCompliantAttribute */ >
class TCOM_CLSCompliantAttributeT : public TComInterface<_CLSCompliantAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CLSCompliantAttributeT() {}
  TCOM_CLSCompliantAttributeT(_CLSCompliantAttribute *intf, bool addRef = false) : TComInterface<_CLSCompliantAttribute>(intf, addRef) {}
  TCOM_CLSCompliantAttributeT(const TCOM_CLSCompliantAttributeT& src) : TComInterface<_CLSCompliantAttribute>(src) {}
  TCOM_CLSCompliantAttributeT& operator=(const TCOM_CLSCompliantAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CLSCompliantAttributeT<_CLSCompliantAttribute> TCOM_CLSCompliantAttribute;

// *********************************************************************//
// DispIntf:  _CLSCompliantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BF1AF177-94CA-3E6D-9D91-55CF9E859D22}
// *********************************************************************//
template<class T>
class _CLSCompliantAttributeDispT : public TAutoDriver<_CLSCompliantAttribute>
{
public:
  _CLSCompliantAttributeDispT(){}

  _CLSCompliantAttributeDispT(_CLSCompliantAttribute *pintf)
  {
    TAutoDriver<_CLSCompliantAttribute>::Bind(pintf, false);
  }

  _CLSCompliantAttributeDispT(_CLSCompliantAttributePtr pintf)
  {
    TAutoDriver<_CLSCompliantAttribute>::Bind(pintf, true);
  }

  _CLSCompliantAttributeDispT& operator=(_CLSCompliantAttribute *pintf)
  {
    TAutoDriver<_CLSCompliantAttribute>::Bind(pintf, false);
    return *this;
  }

  _CLSCompliantAttributeDispT& operator=(_CLSCompliantAttributePtr pintf)
  {
    TAutoDriver<_CLSCompliantAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CLSCompliantAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CLSCompliantAttribute);
  }


};
typedef _CLSCompliantAttributeDispT<_CLSCompliantAttribute> _CLSCompliantAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeUnloadedException
// Interface: _TypeUnloadedException
// *********************************************************************//
template <class T /* _TypeUnloadedException */ >
class TCOM_TypeUnloadedExceptionT : public TComInterface<_TypeUnloadedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeUnloadedExceptionT() {}
  TCOM_TypeUnloadedExceptionT(_TypeUnloadedException *intf, bool addRef = false) : TComInterface<_TypeUnloadedException>(intf, addRef) {}
  TCOM_TypeUnloadedExceptionT(const TCOM_TypeUnloadedExceptionT& src) : TComInterface<_TypeUnloadedException>(src) {}
  TCOM_TypeUnloadedExceptionT& operator=(const TCOM_TypeUnloadedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeUnloadedExceptionT<_TypeUnloadedException> TCOM_TypeUnloadedException;

// *********************************************************************//
// DispIntf:  _TypeUnloadedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C2A10F3A-356A-3C77-AAB9-8991D73A2561}
// *********************************************************************//
template<class T>
class _TypeUnloadedExceptionDispT : public TAutoDriver<_TypeUnloadedException>
{
public:
  _TypeUnloadedExceptionDispT(){}

  _TypeUnloadedExceptionDispT(_TypeUnloadedException *pintf)
  {
    TAutoDriver<_TypeUnloadedException>::Bind(pintf, false);
  }

  _TypeUnloadedExceptionDispT(_TypeUnloadedExceptionPtr pintf)
  {
    TAutoDriver<_TypeUnloadedException>::Bind(pintf, true);
  }

  _TypeUnloadedExceptionDispT& operator=(_TypeUnloadedException *pintf)
  {
    TAutoDriver<_TypeUnloadedException>::Bind(pintf, false);
    return *this;
  }

  _TypeUnloadedExceptionDispT& operator=(_TypeUnloadedExceptionPtr pintf)
  {
    TAutoDriver<_TypeUnloadedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeUnloadedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeUnloadedException);
  }


};
typedef _TypeUnloadedExceptionDispT<_TypeUnloadedException> _TypeUnloadedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Thread
// Interface: _Thread
// *********************************************************************//
template <class T /* _Thread */ >
class TCOM_ThreadT : public TComInterface<_Thread>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ThreadT() {}
  TCOM_ThreadT(_Thread *intf, bool addRef = false) : TComInterface<_Thread>(intf, addRef) {}
  TCOM_ThreadT(const TCOM_ThreadT& src) : TComInterface<_Thread>(src) {}
  TCOM_ThreadT& operator=(const TCOM_ThreadT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ThreadT<_Thread> TCOM_Thread;

// *********************************************************************//
// SmartIntf: TCOM_CriticalFinalizerObject
// Interface: _CriticalFinalizerObject
// *********************************************************************//
template <class T /* _CriticalFinalizerObject */ >
class TCOM_CriticalFinalizerObjectT : public TComInterface<_CriticalFinalizerObject>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CriticalFinalizerObjectT() {}
  TCOM_CriticalFinalizerObjectT(_CriticalFinalizerObject *intf, bool addRef = false) : TComInterface<_CriticalFinalizerObject>(intf, addRef) {}
  TCOM_CriticalFinalizerObjectT(const TCOM_CriticalFinalizerObjectT& src) : TComInterface<_CriticalFinalizerObject>(src) {}
  TCOM_CriticalFinalizerObjectT& operator=(const TCOM_CriticalFinalizerObjectT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CriticalFinalizerObjectT<_CriticalFinalizerObject> TCOM_CriticalFinalizerObject;

// *********************************************************************//
// DispIntf:  _CriticalFinalizerObject
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6B3F9834-1725-38C5-955E-20F051D067BD}
// *********************************************************************//
template<class T>
class _CriticalFinalizerObjectDispT : public TAutoDriver<_CriticalFinalizerObject>
{
public:
  _CriticalFinalizerObjectDispT(){}

  _CriticalFinalizerObjectDispT(_CriticalFinalizerObject *pintf)
  {
    TAutoDriver<_CriticalFinalizerObject>::Bind(pintf, false);
  }

  _CriticalFinalizerObjectDispT(_CriticalFinalizerObjectPtr pintf)
  {
    TAutoDriver<_CriticalFinalizerObject>::Bind(pintf, true);
  }

  _CriticalFinalizerObjectDispT& operator=(_CriticalFinalizerObject *pintf)
  {
    TAutoDriver<_CriticalFinalizerObject>::Bind(pintf, false);
    return *this;
  }

  _CriticalFinalizerObjectDispT& operator=(_CriticalFinalizerObjectPtr pintf)
  {
    TAutoDriver<_CriticalFinalizerObject>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CriticalFinalizerObject));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CriticalFinalizerObject);
  }


};
typedef _CriticalFinalizerObjectDispT<_CriticalFinalizerObject> _CriticalFinalizerObjectDisp;

// *********************************************************************//
// SmartIntf: TCOM_ContextMarshalException
// Interface: _ContextMarshalException
// *********************************************************************//
template <class T /* _ContextMarshalException */ >
class TCOM_ContextMarshalExceptionT : public TComInterface<_ContextMarshalException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ContextMarshalExceptionT() {}
  TCOM_ContextMarshalExceptionT(_ContextMarshalException *intf, bool addRef = false) : TComInterface<_ContextMarshalException>(intf, addRef) {}
  TCOM_ContextMarshalExceptionT(const TCOM_ContextMarshalExceptionT& src) : TComInterface<_ContextMarshalException>(src) {}
  TCOM_ContextMarshalExceptionT& operator=(const TCOM_ContextMarshalExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ContextMarshalExceptionT<_ContextMarshalException> TCOM_ContextMarshalException;

// *********************************************************************//
// DispIntf:  _ContextMarshalException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7386F4D7-7C11-389F-BB75-895714B12BB5}
// *********************************************************************//
template<class T>
class _ContextMarshalExceptionDispT : public TAutoDriver<_ContextMarshalException>
{
public:
  _ContextMarshalExceptionDispT(){}

  _ContextMarshalExceptionDispT(_ContextMarshalException *pintf)
  {
    TAutoDriver<_ContextMarshalException>::Bind(pintf, false);
  }

  _ContextMarshalExceptionDispT(_ContextMarshalExceptionPtr pintf)
  {
    TAutoDriver<_ContextMarshalException>::Bind(pintf, true);
  }

  _ContextMarshalExceptionDispT& operator=(_ContextMarshalException *pintf)
  {
    TAutoDriver<_ContextMarshalException>::Bind(pintf, false);
    return *this;
  }

  _ContextMarshalExceptionDispT& operator=(_ContextMarshalExceptionPtr pintf)
  {
    TAutoDriver<_ContextMarshalException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ContextMarshalException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ContextMarshalException);
  }


};
typedef _ContextMarshalExceptionDispT<_ContextMarshalException> _ContextMarshalExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ContextBoundObject
// Interface: _ContextBoundObject
// *********************************************************************//
template <class T /* _ContextBoundObject */ >
class TCOM_ContextBoundObjectT : public TComInterface<_ContextBoundObject>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ContextBoundObjectT() {}
  TCOM_ContextBoundObjectT(_ContextBoundObject *intf, bool addRef = false) : TComInterface<_ContextBoundObject>(intf, addRef) {}
  TCOM_ContextBoundObjectT(const TCOM_ContextBoundObjectT& src) : TComInterface<_ContextBoundObject>(src) {}
  TCOM_ContextBoundObjectT& operator=(const TCOM_ContextBoundObjectT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ContextBoundObjectT<_ContextBoundObject> TCOM_ContextBoundObject;

// *********************************************************************//
// DispIntf:  _ContextBoundObject
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3EB1D909-E8BF-3C6B-ADA5-0E86E31E186E}
// *********************************************************************//
template<class T>
class _ContextBoundObjectDispT : public TAutoDriver<_ContextBoundObject>
{
public:
  _ContextBoundObjectDispT(){}

  _ContextBoundObjectDispT(_ContextBoundObject *pintf)
  {
    TAutoDriver<_ContextBoundObject>::Bind(pintf, false);
  }

  _ContextBoundObjectDispT(_ContextBoundObjectPtr pintf)
  {
    TAutoDriver<_ContextBoundObject>::Bind(pintf, true);
  }

  _ContextBoundObjectDispT& operator=(_ContextBoundObject *pintf)
  {
    TAutoDriver<_ContextBoundObject>::Bind(pintf, false);
    return *this;
  }

  _ContextBoundObjectDispT& operator=(_ContextBoundObjectPtr pintf)
  {
    TAutoDriver<_ContextBoundObject>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ContextBoundObject));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ContextBoundObject);
  }


};
typedef _ContextBoundObjectDispT<_ContextBoundObject> _ContextBoundObjectDisp;

// *********************************************************************//
// SmartIntf: TCOM_ContextStaticAttribute
// Interface: _ContextStaticAttribute
// *********************************************************************//
template <class T /* _ContextStaticAttribute */ >
class TCOM_ContextStaticAttributeT : public TComInterface<_ContextStaticAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ContextStaticAttributeT() {}
  TCOM_ContextStaticAttributeT(_ContextStaticAttribute *intf, bool addRef = false) : TComInterface<_ContextStaticAttribute>(intf, addRef) {}
  TCOM_ContextStaticAttributeT(const TCOM_ContextStaticAttributeT& src) : TComInterface<_ContextStaticAttribute>(src) {}
  TCOM_ContextStaticAttributeT& operator=(const TCOM_ContextStaticAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ContextStaticAttributeT<_ContextStaticAttribute> TCOM_ContextStaticAttribute;

// *********************************************************************//
// DispIntf:  _ContextStaticAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {160D517F-F175-3B61-8264-6D2305B8246C}
// *********************************************************************//
template<class T>
class _ContextStaticAttributeDispT : public TAutoDriver<_ContextStaticAttribute>
{
public:
  _ContextStaticAttributeDispT(){}

  _ContextStaticAttributeDispT(_ContextStaticAttribute *pintf)
  {
    TAutoDriver<_ContextStaticAttribute>::Bind(pintf, false);
  }

  _ContextStaticAttributeDispT(_ContextStaticAttributePtr pintf)
  {
    TAutoDriver<_ContextStaticAttribute>::Bind(pintf, true);
  }

  _ContextStaticAttributeDispT& operator=(_ContextStaticAttribute *pintf)
  {
    TAutoDriver<_ContextStaticAttribute>::Bind(pintf, false);
    return *this;
  }

  _ContextStaticAttributeDispT& operator=(_ContextStaticAttributePtr pintf)
  {
    TAutoDriver<_ContextStaticAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ContextStaticAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ContextStaticAttribute);
  }


};
typedef _ContextStaticAttributeDispT<_ContextStaticAttribute> _ContextStaticAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TimeZone
// Interface: _TimeZone
// *********************************************************************//
template <class T /* _TimeZone */ >
class TCOM_TimeZoneT : public TComInterface<_TimeZone>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TimeZoneT() {}
  TCOM_TimeZoneT(_TimeZone *intf, bool addRef = false) : TComInterface<_TimeZone>(intf, addRef) {}
  TCOM_TimeZoneT(const TCOM_TimeZoneT& src) : TComInterface<_TimeZone>(src) {}
  TCOM_TimeZoneT& operator=(const TCOM_TimeZoneT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TimeZoneT<_TimeZone> TCOM_TimeZone;

// *********************************************************************//
// DispIntf:  _TimeZone
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3025F666-7891-33D7-AACD-23D169EF354E}
// *********************************************************************//
template<class T>
class _TimeZoneDispT : public TAutoDriver<_TimeZone>
{
public:
  _TimeZoneDispT(){}

  _TimeZoneDispT(_TimeZone *pintf)
  {
    TAutoDriver<_TimeZone>::Bind(pintf, false);
  }

  _TimeZoneDispT(_TimeZonePtr pintf)
  {
    TAutoDriver<_TimeZone>::Bind(pintf, true);
  }

  _TimeZoneDispT& operator=(_TimeZone *pintf)
  {
    TAutoDriver<_TimeZone>::Bind(pintf, false);
    return *this;
  }

  _TimeZoneDispT& operator=(_TimeZonePtr pintf)
  {
    TAutoDriver<_TimeZone>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TimeZone));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TimeZone);
  }


};
typedef _TimeZoneDispT<_TimeZone> _TimeZoneDisp;

// *********************************************************************//
// SmartIntf: TCOM_DBNull
// Interface: _DBNull
// *********************************************************************//
template <class T /* _DBNull */ >
class TCOM_DBNullT : public TComInterface<_DBNull>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DBNullT() {}
  TCOM_DBNullT(_DBNull *intf, bool addRef = false) : TComInterface<_DBNull>(intf, addRef) {}
  TCOM_DBNullT(const TCOM_DBNullT& src) : TComInterface<_DBNull>(src) {}
  TCOM_DBNullT& operator=(const TCOM_DBNullT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DBNullT<_DBNull> TCOM_DBNull;

// *********************************************************************//
// DispIntf:  _DBNull
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D9F1B65-6D27-3E9F-BAF3-0597837E0F33}
// *********************************************************************//
template<class T>
class _DBNullDispT : public TAutoDriver<_DBNull>
{
public:
  _DBNullDispT(){}

  _DBNullDispT(_DBNull *pintf)
  {
    TAutoDriver<_DBNull>::Bind(pintf, false);
  }

  _DBNullDispT(_DBNullPtr pintf)
  {
    TAutoDriver<_DBNull>::Bind(pintf, true);
  }

  _DBNullDispT& operator=(_DBNull *pintf)
  {
    TAutoDriver<_DBNull>::Bind(pintf, false);
    return *this;
  }

  _DBNullDispT& operator=(_DBNullPtr pintf)
  {
    TAutoDriver<_DBNull>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DBNull));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DBNull);
  }


};
typedef _DBNullDispT<_DBNull> _DBNullDisp;

// *********************************************************************//
// SmartIntf: TCOM_Binder
// Interface: _Binder
// *********************************************************************//
template <class T /* _Binder */ >
class TCOM_BinderT : public TComInterface<_Binder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BinderT() {}
  TCOM_BinderT(_Binder *intf, bool addRef = false) : TComInterface<_Binder>(intf, addRef) {}
  TCOM_BinderT(const TCOM_BinderT& src) : TComInterface<_Binder>(src) {}
  TCOM_BinderT& operator=(const TCOM_BinderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                          LPSAFEARRAY match/*[in]*/, LPSAFEARRAY* args/*[in,out]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          LPSAFEARRAY names/*[in]*/, TVariant* state/*[out]*/, 
                                          Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodBasePtr __fastcall BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                       LPSAFEARRAY match/*[in]*/, 
                                                       LPSAFEARRAY* args/*[in,out]*/, 
                                                       LPSAFEARRAY modifiers/*[in]*/, 
                                                       Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                       LPSAFEARRAY names/*[in]*/, 
                                                       TVariant* state/*[out]*/);
  HRESULT         __fastcall BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         LPSAFEARRAY match/*[in]*/, TVariantInParam value/*[in]*/, 
                                         Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                         Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FieldInfoPtr __fastcall BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                     LPSAFEARRAY match/*[in]*/, 
                                                     TVariantInParam value/*[in]*/, 
                                                     Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                          LPSAFEARRAY match/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodBasePtr __fastcall SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                       LPSAFEARRAY match/*[in]*/, 
                                                       LPSAFEARRAY types/*[in]*/, 
                                                       LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                            LPSAFEARRAY match/*[in]*/, 
                                            Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                            LPSAFEARRAY indexes/*[in]*/, 
                                            LPSAFEARRAY modifiers/*[in]*/, 
                                            Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                           LPSAFEARRAY match/*[in]*/, 
                                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                           LPSAFEARRAY indexes/*[in]*/, 
                                                           LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall ChangeType(TVariantInParam value/*[in]*/, 
                                        Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                        Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                        TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall ChangeType(TVariantInParam value/*[in]*/, 
                                        Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                        Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall ReorderArgumentArray(LPSAFEARRAY* args/*[in,out]*/, 
                                                  TVariantInParam state/*[in]*/);

  __property   BSTR            ToString = {read = get_ToString};
};
typedef TCOM_BinderT<_Binder> TCOM_Binder;

// *********************************************************************//
// DispIntf:  _Binder
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {3169AB11-7109-3808-9A61-EF4BA0534FD9}
// *********************************************************************//
template<class T>
class _BinderDispT : public TAutoDriver<_Binder>
{
public:
  _BinderDispT(){}

  _BinderDispT(_Binder *pintf)
  {
    TAutoDriver<_Binder>::Bind(pintf, false);
  }

  _BinderDispT(_BinderPtr pintf)
  {
    TAutoDriver<_Binder>::Bind(pintf, true);
  }

  _BinderDispT& operator=(_Binder *pintf)
  {
    TAutoDriver<_Binder>::Bind(pintf, false);
    return *this;
  }

  _BinderDispT& operator=(_BinderPtr pintf)
  {
    TAutoDriver<_Binder>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Binder));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Binder);
  }

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                          LPSAFEARRAY match/*[in]*/, LPSAFEARRAY* args/*[in,out]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          LPSAFEARRAY names/*[in]*/, TVariant* state/*[out]*/, 
                                          Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodBasePtr __fastcall BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                       LPSAFEARRAY match/*[in]*/, 
                                                       LPSAFEARRAY* args/*[in,out]*/, 
                                                       LPSAFEARRAY modifiers/*[in]*/, 
                                                       Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                       LPSAFEARRAY names/*[in]*/, 
                                                       TVariant* state/*[out]*/);
  HRESULT         __fastcall BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         LPSAFEARRAY match/*[in]*/, TVariantInParam value/*[in]*/, 
                                         Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                         Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FieldInfoPtr __fastcall BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                     LPSAFEARRAY match/*[in]*/, 
                                                     TVariantInParam value/*[in]*/, 
                                                     Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                          LPSAFEARRAY match/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodBasePtr __fastcall SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                       LPSAFEARRAY match/*[in]*/, 
                                                       LPSAFEARRAY types/*[in]*/, 
                                                       LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                            LPSAFEARRAY match/*[in]*/, 
                                            Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                            LPSAFEARRAY indexes/*[in]*/, 
                                            LPSAFEARRAY modifiers/*[in]*/, 
                                            Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                           LPSAFEARRAY match/*[in]*/, 
                                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                           LPSAFEARRAY indexes/*[in]*/, 
                                                           LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall ChangeType(TVariantInParam value/*[in]*/, 
                                        Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                        Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                        TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall ChangeType(TVariantInParam value/*[in]*/, 
                                        Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                        Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall ReorderArgumentArray(LPSAFEARRAY* args/*[in,out]*/, 
                                                  TVariantInParam state/*[in]*/);

  __property   BSTR            ToString = {read = get_ToString};
};
typedef _BinderDispT<_Binder> _BinderDisp;

typedef TComInterface<IObjectReference>  TCOMIObjectReference;

// *********************************************************************//
// DispIntf:  IObjectReference
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6E70ED5F-0439-38CE-83BB-860F1421F29F}
// *********************************************************************//
template<class T>
class IObjectReferenceDispT : public TAutoDriver<IObjectReference>
{
public:
  IObjectReferenceDispT(){}

  IObjectReferenceDispT(IObjectReference *pintf)
  {
    TAutoDriver<IObjectReference>::Bind(pintf, false);
  }

  IObjectReferenceDispT(IObjectReferencePtr pintf)
  {
    TAutoDriver<IObjectReference>::Bind(pintf, true);
  }

  IObjectReferenceDispT& operator=(IObjectReference *pintf)
  {
    TAutoDriver<IObjectReference>::Bind(pintf, false);
    return *this;
  }

  IObjectReferenceDispT& operator=(IObjectReferencePtr pintf)
  {
    TAutoDriver<IObjectReference>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetRealObject(/*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context
                                           , TVariant* pRetVal/*[out,retval]*/);

};
typedef IObjectReferenceDispT<IObjectReference> IObjectReferenceDisp;

// *********************************************************************//
// SmartIntf: TCOM_DivideByZeroException
// Interface: _DivideByZeroException
// *********************************************************************//
template <class T /* _DivideByZeroException */ >
class TCOM_DivideByZeroExceptionT : public TComInterface<_DivideByZeroException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DivideByZeroExceptionT() {}
  TCOM_DivideByZeroExceptionT(_DivideByZeroException *intf, bool addRef = false) : TComInterface<_DivideByZeroException>(intf, addRef) {}
  TCOM_DivideByZeroExceptionT(const TCOM_DivideByZeroExceptionT& src) : TComInterface<_DivideByZeroException>(src) {}
  TCOM_DivideByZeroExceptionT& operator=(const TCOM_DivideByZeroExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DivideByZeroExceptionT<_DivideByZeroException> TCOM_DivideByZeroException;

// *********************************************************************//
// DispIntf:  _DivideByZeroException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BDEEA460-8241-3B41-9ED3-6E3E9977AC7F}
// *********************************************************************//
template<class T>
class _DivideByZeroExceptionDispT : public TAutoDriver<_DivideByZeroException>
{
public:
  _DivideByZeroExceptionDispT(){}

  _DivideByZeroExceptionDispT(_DivideByZeroException *pintf)
  {
    TAutoDriver<_DivideByZeroException>::Bind(pintf, false);
  }

  _DivideByZeroExceptionDispT(_DivideByZeroExceptionPtr pintf)
  {
    TAutoDriver<_DivideByZeroException>::Bind(pintf, true);
  }

  _DivideByZeroExceptionDispT& operator=(_DivideByZeroException *pintf)
  {
    TAutoDriver<_DivideByZeroException>::Bind(pintf, false);
    return *this;
  }

  _DivideByZeroExceptionDispT& operator=(_DivideByZeroExceptionPtr pintf)
  {
    TAutoDriver<_DivideByZeroException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DivideByZeroException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DivideByZeroException);
  }


};
typedef _DivideByZeroExceptionDispT<_DivideByZeroException> _DivideByZeroExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_DuplicateWaitObjectException
// Interface: _DuplicateWaitObjectException
// *********************************************************************//
template <class T /* _DuplicateWaitObjectException */ >
class TCOM_DuplicateWaitObjectExceptionT : public TComInterface<_DuplicateWaitObjectException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DuplicateWaitObjectExceptionT() {}
  TCOM_DuplicateWaitObjectExceptionT(_DuplicateWaitObjectException *intf, bool addRef = false) : TComInterface<_DuplicateWaitObjectException>(intf, addRef) {}
  TCOM_DuplicateWaitObjectExceptionT(const TCOM_DuplicateWaitObjectExceptionT& src) : TComInterface<_DuplicateWaitObjectException>(src) {}
  TCOM_DuplicateWaitObjectExceptionT& operator=(const TCOM_DuplicateWaitObjectExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DuplicateWaitObjectExceptionT<_DuplicateWaitObjectException> TCOM_DuplicateWaitObjectException;

// *********************************************************************//
// DispIntf:  _DuplicateWaitObjectException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D345A42B-CFE0-3EEE-861C-F3322812B388}
// *********************************************************************//
template<class T>
class _DuplicateWaitObjectExceptionDispT : public TAutoDriver<_DuplicateWaitObjectException>
{
public:
  _DuplicateWaitObjectExceptionDispT(){}

  _DuplicateWaitObjectExceptionDispT(_DuplicateWaitObjectException *pintf)
  {
    TAutoDriver<_DuplicateWaitObjectException>::Bind(pintf, false);
  }

  _DuplicateWaitObjectExceptionDispT(_DuplicateWaitObjectExceptionPtr pintf)
  {
    TAutoDriver<_DuplicateWaitObjectException>::Bind(pintf, true);
  }

  _DuplicateWaitObjectExceptionDispT& operator=(_DuplicateWaitObjectException *pintf)
  {
    TAutoDriver<_DuplicateWaitObjectException>::Bind(pintf, false);
    return *this;
  }

  _DuplicateWaitObjectExceptionDispT& operator=(_DuplicateWaitObjectExceptionPtr pintf)
  {
    TAutoDriver<_DuplicateWaitObjectException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DuplicateWaitObjectException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DuplicateWaitObjectException);
  }


};
typedef _DuplicateWaitObjectExceptionDispT<_DuplicateWaitObjectException> _DuplicateWaitObjectExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeLoadException
// Interface: _TypeLoadException
// *********************************************************************//
template <class T /* _TypeLoadException */ >
class TCOM_TypeLoadExceptionT : public TComInterface<_TypeLoadException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeLoadExceptionT() {}
  TCOM_TypeLoadExceptionT(_TypeLoadException *intf, bool addRef = false) : TComInterface<_TypeLoadException>(intf, addRef) {}
  TCOM_TypeLoadExceptionT(const TCOM_TypeLoadExceptionT& src) : TComInterface<_TypeLoadException>(src) {}
  TCOM_TypeLoadExceptionT& operator=(const TCOM_TypeLoadExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeLoadExceptionT<_TypeLoadException> TCOM_TypeLoadException;

// *********************************************************************//
// DispIntf:  _TypeLoadException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {82D6B3BF-A633-3B3B-A09E-2363E4B24A41}
// *********************************************************************//
template<class T>
class _TypeLoadExceptionDispT : public TAutoDriver<_TypeLoadException>
{
public:
  _TypeLoadExceptionDispT(){}

  _TypeLoadExceptionDispT(_TypeLoadException *pintf)
  {
    TAutoDriver<_TypeLoadException>::Bind(pintf, false);
  }

  _TypeLoadExceptionDispT(_TypeLoadExceptionPtr pintf)
  {
    TAutoDriver<_TypeLoadException>::Bind(pintf, true);
  }

  _TypeLoadExceptionDispT& operator=(_TypeLoadException *pintf)
  {
    TAutoDriver<_TypeLoadException>::Bind(pintf, false);
    return *this;
  }

  _TypeLoadExceptionDispT& operator=(_TypeLoadExceptionPtr pintf)
  {
    TAutoDriver<_TypeLoadException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeLoadException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeLoadException);
  }


};
typedef _TypeLoadExceptionDispT<_TypeLoadException> _TypeLoadExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_EntryPointNotFoundException
// Interface: _EntryPointNotFoundException
// *********************************************************************//
template <class T /* _EntryPointNotFoundException */ >
class TCOM_EntryPointNotFoundExceptionT : public TComInterface<_EntryPointNotFoundException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EntryPointNotFoundExceptionT() {}
  TCOM_EntryPointNotFoundExceptionT(_EntryPointNotFoundException *intf, bool addRef = false) : TComInterface<_EntryPointNotFoundException>(intf, addRef) {}
  TCOM_EntryPointNotFoundExceptionT(const TCOM_EntryPointNotFoundExceptionT& src) : TComInterface<_EntryPointNotFoundException>(src) {}
  TCOM_EntryPointNotFoundExceptionT& operator=(const TCOM_EntryPointNotFoundExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EntryPointNotFoundExceptionT<_EntryPointNotFoundException> TCOM_EntryPointNotFoundException;

// *********************************************************************//
// DispIntf:  _EntryPointNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {67388F3F-B600-3BCF-84AA-BB2B88DD9EE2}
// *********************************************************************//
template<class T>
class _EntryPointNotFoundExceptionDispT : public TAutoDriver<_EntryPointNotFoundException>
{
public:
  _EntryPointNotFoundExceptionDispT(){}

  _EntryPointNotFoundExceptionDispT(_EntryPointNotFoundException *pintf)
  {
    TAutoDriver<_EntryPointNotFoundException>::Bind(pintf, false);
  }

  _EntryPointNotFoundExceptionDispT(_EntryPointNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_EntryPointNotFoundException>::Bind(pintf, true);
  }

  _EntryPointNotFoundExceptionDispT& operator=(_EntryPointNotFoundException *pintf)
  {
    TAutoDriver<_EntryPointNotFoundException>::Bind(pintf, false);
    return *this;
  }

  _EntryPointNotFoundExceptionDispT& operator=(_EntryPointNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_EntryPointNotFoundException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EntryPointNotFoundException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EntryPointNotFoundException);
  }


};
typedef _EntryPointNotFoundExceptionDispT<_EntryPointNotFoundException> _EntryPointNotFoundExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_DllNotFoundException
// Interface: _DllNotFoundException
// *********************************************************************//
template <class T /* _DllNotFoundException */ >
class TCOM_DllNotFoundExceptionT : public TComInterface<_DllNotFoundException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DllNotFoundExceptionT() {}
  TCOM_DllNotFoundExceptionT(_DllNotFoundException *intf, bool addRef = false) : TComInterface<_DllNotFoundException>(intf, addRef) {}
  TCOM_DllNotFoundExceptionT(const TCOM_DllNotFoundExceptionT& src) : TComInterface<_DllNotFoundException>(src) {}
  TCOM_DllNotFoundExceptionT& operator=(const TCOM_DllNotFoundExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DllNotFoundExceptionT<_DllNotFoundException> TCOM_DllNotFoundException;

// *********************************************************************//
// DispIntf:  _DllNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {24AE6464-2834-32CD-83D6-FA06953DE62A}
// *********************************************************************//
template<class T>
class _DllNotFoundExceptionDispT : public TAutoDriver<_DllNotFoundException>
{
public:
  _DllNotFoundExceptionDispT(){}

  _DllNotFoundExceptionDispT(_DllNotFoundException *pintf)
  {
    TAutoDriver<_DllNotFoundException>::Bind(pintf, false);
  }

  _DllNotFoundExceptionDispT(_DllNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_DllNotFoundException>::Bind(pintf, true);
  }

  _DllNotFoundExceptionDispT& operator=(_DllNotFoundException *pintf)
  {
    TAutoDriver<_DllNotFoundException>::Bind(pintf, false);
    return *this;
  }

  _DllNotFoundExceptionDispT& operator=(_DllNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_DllNotFoundException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DllNotFoundException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DllNotFoundException);
  }


};
typedef _DllNotFoundExceptionDispT<_DllNotFoundException> _DllNotFoundExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Environment
// Interface: _Environment
// *********************************************************************//
template <class T /* _Environment */ >
class TCOM_EnvironmentT : public TComInterface<_Environment>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EnvironmentT() {}
  TCOM_EnvironmentT(_Environment *intf, bool addRef = false) : TComInterface<_Environment>(intf, addRef) {}
  TCOM_EnvironmentT(const TCOM_EnvironmentT& src) : TComInterface<_Environment>(src) {}
  TCOM_EnvironmentT& operator=(const TCOM_EnvironmentT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EnvironmentT<_Environment> TCOM_Environment;

// *********************************************************************//
// DispIntf:  _Environment
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {29DC56CF-B981-3432-97C8-3680AB6D862D}
// *********************************************************************//
template<class T>
class _EnvironmentDispT : public TAutoDriver<_Environment>
{
public:
  _EnvironmentDispT(){}

  _EnvironmentDispT(_Environment *pintf)
  {
    TAutoDriver<_Environment>::Bind(pintf, false);
  }

  _EnvironmentDispT(_EnvironmentPtr pintf)
  {
    TAutoDriver<_Environment>::Bind(pintf, true);
  }

  _EnvironmentDispT& operator=(_Environment *pintf)
  {
    TAutoDriver<_Environment>::Bind(pintf, false);
    return *this;
  }

  _EnvironmentDispT& operator=(_EnvironmentPtr pintf)
  {
    TAutoDriver<_Environment>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Environment));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Environment);
  }


};
typedef _EnvironmentDispT<_Environment> _EnvironmentDisp;

// *********************************************************************//
// SmartIntf: TCOM_EventHandler
// Interface: _EventHandler
// *********************************************************************//
template <class T /* _EventHandler */ >
class TCOM_EventHandlerT : public TComInterface<_EventHandler>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EventHandlerT() {}
  TCOM_EventHandlerT(_EventHandler *intf, bool addRef = false) : TComInterface<_EventHandler>(intf, addRef) {}
  TCOM_EventHandlerT(const TCOM_EventHandlerT& src) : TComInterface<_EventHandler>(src) {}
  TCOM_EventHandlerT& operator=(const TCOM_EventHandlerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EventHandlerT<_EventHandler> TCOM_EventHandler;

// *********************************************************************//
// DispIntf:  _EventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7CEFC46E-16E0-3E65-9C38-55B4342BA7F0}
// *********************************************************************//
template<class T>
class _EventHandlerDispT : public TAutoDriver<_EventHandler>
{
public:
  _EventHandlerDispT(){}

  _EventHandlerDispT(_EventHandler *pintf)
  {
    TAutoDriver<_EventHandler>::Bind(pintf, false);
  }

  _EventHandlerDispT(_EventHandlerPtr pintf)
  {
    TAutoDriver<_EventHandler>::Bind(pintf, true);
  }

  _EventHandlerDispT& operator=(_EventHandler *pintf)
  {
    TAutoDriver<_EventHandler>::Bind(pintf, false);
    return *this;
  }

  _EventHandlerDispT& operator=(_EventHandlerPtr pintf)
  {
    TAutoDriver<_EventHandler>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EventHandler));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EventHandler);
  }


};
typedef _EventHandlerDispT<_EventHandler> _EventHandlerDisp;

// *********************************************************************//
// SmartIntf: TCOM_FieldAccessException
// Interface: _FieldAccessException
// *********************************************************************//
template <class T /* _FieldAccessException */ >
class TCOM_FieldAccessExceptionT : public TComInterface<_FieldAccessException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FieldAccessExceptionT() {}
  TCOM_FieldAccessExceptionT(_FieldAccessException *intf, bool addRef = false) : TComInterface<_FieldAccessException>(intf, addRef) {}
  TCOM_FieldAccessExceptionT(const TCOM_FieldAccessExceptionT& src) : TComInterface<_FieldAccessException>(src) {}
  TCOM_FieldAccessExceptionT& operator=(const TCOM_FieldAccessExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FieldAccessExceptionT<_FieldAccessException> TCOM_FieldAccessException;

// *********************************************************************//
// DispIntf:  _FieldAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8D5F5811-FFA1-3306-93E3-8AFC572B9B82}
// *********************************************************************//
template<class T>
class _FieldAccessExceptionDispT : public TAutoDriver<_FieldAccessException>
{
public:
  _FieldAccessExceptionDispT(){}

  _FieldAccessExceptionDispT(_FieldAccessException *pintf)
  {
    TAutoDriver<_FieldAccessException>::Bind(pintf, false);
  }

  _FieldAccessExceptionDispT(_FieldAccessExceptionPtr pintf)
  {
    TAutoDriver<_FieldAccessException>::Bind(pintf, true);
  }

  _FieldAccessExceptionDispT& operator=(_FieldAccessException *pintf)
  {
    TAutoDriver<_FieldAccessException>::Bind(pintf, false);
    return *this;
  }

  _FieldAccessExceptionDispT& operator=(_FieldAccessExceptionPtr pintf)
  {
    TAutoDriver<_FieldAccessException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FieldAccessException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FieldAccessException);
  }


};
typedef _FieldAccessExceptionDispT<_FieldAccessException> _FieldAccessExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_FlagsAttribute
// Interface: _FlagsAttribute
// *********************************************************************//
template <class T /* _FlagsAttribute */ >
class TCOM_FlagsAttributeT : public TComInterface<_FlagsAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FlagsAttributeT() {}
  TCOM_FlagsAttributeT(_FlagsAttribute *intf, bool addRef = false) : TComInterface<_FlagsAttribute>(intf, addRef) {}
  TCOM_FlagsAttributeT(const TCOM_FlagsAttributeT& src) : TComInterface<_FlagsAttribute>(src) {}
  TCOM_FlagsAttributeT& operator=(const TCOM_FlagsAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FlagsAttributeT<_FlagsAttribute> TCOM_FlagsAttribute;

// *********************************************************************//
// DispIntf:  _FlagsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EBE3746D-DDEC-3D23-8E8D-9361BA87BAC6}
// *********************************************************************//
template<class T>
class _FlagsAttributeDispT : public TAutoDriver<_FlagsAttribute>
{
public:
  _FlagsAttributeDispT(){}

  _FlagsAttributeDispT(_FlagsAttribute *pintf)
  {
    TAutoDriver<_FlagsAttribute>::Bind(pintf, false);
  }

  _FlagsAttributeDispT(_FlagsAttributePtr pintf)
  {
    TAutoDriver<_FlagsAttribute>::Bind(pintf, true);
  }

  _FlagsAttributeDispT& operator=(_FlagsAttribute *pintf)
  {
    TAutoDriver<_FlagsAttribute>::Bind(pintf, false);
    return *this;
  }

  _FlagsAttributeDispT& operator=(_FlagsAttributePtr pintf)
  {
    TAutoDriver<_FlagsAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FlagsAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FlagsAttribute);
  }


};
typedef _FlagsAttributeDispT<_FlagsAttribute> _FlagsAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_FormatException
// Interface: _FormatException
// *********************************************************************//
template <class T /* _FormatException */ >
class TCOM_FormatExceptionT : public TComInterface<_FormatException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FormatExceptionT() {}
  TCOM_FormatExceptionT(_FormatException *intf, bool addRef = false) : TComInterface<_FormatException>(intf, addRef) {}
  TCOM_FormatExceptionT(const TCOM_FormatExceptionT& src) : TComInterface<_FormatException>(src) {}
  TCOM_FormatExceptionT& operator=(const TCOM_FormatExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FormatExceptionT<_FormatException> TCOM_FormatException;

// *********************************************************************//
// DispIntf:  _FormatException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {07F92156-398A-3548-90B7-2E58026353D0}
// *********************************************************************//
template<class T>
class _FormatExceptionDispT : public TAutoDriver<_FormatException>
{
public:
  _FormatExceptionDispT(){}

  _FormatExceptionDispT(_FormatException *pintf)
  {
    TAutoDriver<_FormatException>::Bind(pintf, false);
  }

  _FormatExceptionDispT(_FormatExceptionPtr pintf)
  {
    TAutoDriver<_FormatException>::Bind(pintf, true);
  }

  _FormatExceptionDispT& operator=(_FormatException *pintf)
  {
    TAutoDriver<_FormatException>::Bind(pintf, false);
    return *this;
  }

  _FormatExceptionDispT& operator=(_FormatExceptionPtr pintf)
  {
    TAutoDriver<_FormatException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FormatException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FormatException);
  }


};
typedef _FormatExceptionDispT<_FormatException> _FormatExceptionDisp;

typedef TComInterface<IAsyncResult>  TCOMIAsyncResult;

// *********************************************************************//
// DispIntf:  IAsyncResult
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {11AB34E7-0176-3C9E-9EFE-197858400A3D}
// *********************************************************************//
template<class T>
class IAsyncResultDispT : public TAutoDriver<IAsyncResult>
{
public:
  IAsyncResultDispT(){}

  IAsyncResultDispT(IAsyncResult *pintf)
  {
    TAutoDriver<IAsyncResult>::Bind(pintf, false);
  }

  IAsyncResultDispT(IAsyncResultPtr pintf)
  {
    TAutoDriver<IAsyncResult>::Bind(pintf, true);
  }

  IAsyncResultDispT& operator=(IAsyncResult *pintf)
  {
    TAutoDriver<IAsyncResult>::Bind(pintf, false);
    return *this;
  }

  IAsyncResultDispT& operator=(IAsyncResultPtr pintf)
  {
    TAutoDriver<IAsyncResult>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_IsCompleted(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsCompleted(void);
  HRESULT         __fastcall get_AsyncWaitHandle(Mscorlib_tlb::_WaitHandlePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_WaitHandlePtr __fastcall get_AsyncWaitHandle(void);
  HRESULT         __fastcall get_AsyncState(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_AsyncState(void);
  HRESULT         __fastcall get_CompletedSynchronously(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_CompletedSynchronously(void);

  __property   TOLEBOOL        IsCompleted = {read = get_IsCompleted};
  __property   Mscorlib_tlb::_WaitHandlePtr AsyncWaitHandle = {read = get_AsyncWaitHandle};
  __property   TOLEBOOL        CompletedSynchronously = {read = get_CompletedSynchronously};
};
typedef IAsyncResultDispT<IAsyncResult> IAsyncResultDisp;

typedef TComInterface<ICustomFormatter>  TCOMICustomFormatter;

// *********************************************************************//
// DispIntf:  ICustomFormatter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {2B130940-CA5E-3406-8385-E259E68AB039}
// *********************************************************************//
template<class T>
class ICustomFormatterDispT : public TAutoDriver<ICustomFormatter>
{
public:
  ICustomFormatterDispT(){}

  ICustomFormatterDispT(ICustomFormatter *pintf)
  {
    TAutoDriver<ICustomFormatter>::Bind(pintf, false);
  }

  ICustomFormatterDispT(ICustomFormatterPtr pintf)
  {
    TAutoDriver<ICustomFormatter>::Bind(pintf, true);
  }

  ICustomFormatterDispT& operator=(ICustomFormatter *pintf)
  {
    TAutoDriver<ICustomFormatter>::Bind(pintf, false);
    return *this;
  }

  ICustomFormatterDispT& operator=(ICustomFormatterPtr pintf)
  {
    TAutoDriver<ICustomFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall format(BSTR format/*[in]*/, TVariantInParam arg/*[in]*/, 
                                    Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/, 
                                    BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall format(BSTR format/*[in]*/, TVariantInParam arg/*[in]*/, 
                                    Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/);

};
typedef ICustomFormatterDispT<ICustomFormatter> ICustomFormatterDisp;

typedef TComInterface<IFormatProvider>  TCOMIFormatProvider;

// *********************************************************************//
// DispIntf:  IFormatProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C8CB1DED-2814-396A-9CC0-473CA49779CC}
// *********************************************************************//
template<class T>
class IFormatProviderDispT : public TAutoDriver<IFormatProvider>
{
public:
  IFormatProviderDispT(){}

  IFormatProviderDispT(IFormatProvider *pintf)
  {
    TAutoDriver<IFormatProvider>::Bind(pintf, false);
  }

  IFormatProviderDispT(IFormatProviderPtr pintf)
  {
    TAutoDriver<IFormatProvider>::Bind(pintf, true);
  }

  IFormatProviderDispT& operator=(IFormatProvider *pintf)
  {
    TAutoDriver<IFormatProvider>::Bind(pintf, false);
    return *this;
  }

  IFormatProviderDispT& operator=(IFormatProviderPtr pintf)
  {
    TAutoDriver<IFormatProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetFormat(Mscorlib_tlb::_TypePtr formatType/*[in]*/, 
                                       TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetFormat(Mscorlib_tlb::_TypePtr formatType/*[in]*/);

};
typedef IFormatProviderDispT<IFormatProvider> IFormatProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_IndexOutOfRangeException
// Interface: _IndexOutOfRangeException
// *********************************************************************//
template <class T /* _IndexOutOfRangeException */ >
class TCOM_IndexOutOfRangeExceptionT : public TComInterface<_IndexOutOfRangeException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IndexOutOfRangeExceptionT() {}
  TCOM_IndexOutOfRangeExceptionT(_IndexOutOfRangeException *intf, bool addRef = false) : TComInterface<_IndexOutOfRangeException>(intf, addRef) {}
  TCOM_IndexOutOfRangeExceptionT(const TCOM_IndexOutOfRangeExceptionT& src) : TComInterface<_IndexOutOfRangeException>(src) {}
  TCOM_IndexOutOfRangeExceptionT& operator=(const TCOM_IndexOutOfRangeExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IndexOutOfRangeExceptionT<_IndexOutOfRangeException> TCOM_IndexOutOfRangeException;

// *********************************************************************//
// DispIntf:  _IndexOutOfRangeException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5A5F1E4-82C1-391F-A1C6-F39EAE9DC72F}
// *********************************************************************//
template<class T>
class _IndexOutOfRangeExceptionDispT : public TAutoDriver<_IndexOutOfRangeException>
{
public:
  _IndexOutOfRangeExceptionDispT(){}

  _IndexOutOfRangeExceptionDispT(_IndexOutOfRangeException *pintf)
  {
    TAutoDriver<_IndexOutOfRangeException>::Bind(pintf, false);
  }

  _IndexOutOfRangeExceptionDispT(_IndexOutOfRangeExceptionPtr pintf)
  {
    TAutoDriver<_IndexOutOfRangeException>::Bind(pintf, true);
  }

  _IndexOutOfRangeExceptionDispT& operator=(_IndexOutOfRangeException *pintf)
  {
    TAutoDriver<_IndexOutOfRangeException>::Bind(pintf, false);
    return *this;
  }

  _IndexOutOfRangeExceptionDispT& operator=(_IndexOutOfRangeExceptionPtr pintf)
  {
    TAutoDriver<_IndexOutOfRangeException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IndexOutOfRangeException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IndexOutOfRangeException);
  }


};
typedef _IndexOutOfRangeExceptionDispT<_IndexOutOfRangeException> _IndexOutOfRangeExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_InvalidCastException
// Interface: _InvalidCastException
// *********************************************************************//
template <class T /* _InvalidCastException */ >
class TCOM_InvalidCastExceptionT : public TComInterface<_InvalidCastException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InvalidCastExceptionT() {}
  TCOM_InvalidCastExceptionT(_InvalidCastException *intf, bool addRef = false) : TComInterface<_InvalidCastException>(intf, addRef) {}
  TCOM_InvalidCastExceptionT(const TCOM_InvalidCastExceptionT& src) : TComInterface<_InvalidCastException>(src) {}
  TCOM_InvalidCastExceptionT& operator=(const TCOM_InvalidCastExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InvalidCastExceptionT<_InvalidCastException> TCOM_InvalidCastException;

// *********************************************************************//
// DispIntf:  _InvalidCastException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FA047CBD-9BA5-3A13-9B1F-6694D622CD76}
// *********************************************************************//
template<class T>
class _InvalidCastExceptionDispT : public TAutoDriver<_InvalidCastException>
{
public:
  _InvalidCastExceptionDispT(){}

  _InvalidCastExceptionDispT(_InvalidCastException *pintf)
  {
    TAutoDriver<_InvalidCastException>::Bind(pintf, false);
  }

  _InvalidCastExceptionDispT(_InvalidCastExceptionPtr pintf)
  {
    TAutoDriver<_InvalidCastException>::Bind(pintf, true);
  }

  _InvalidCastExceptionDispT& operator=(_InvalidCastException *pintf)
  {
    TAutoDriver<_InvalidCastException>::Bind(pintf, false);
    return *this;
  }

  _InvalidCastExceptionDispT& operator=(_InvalidCastExceptionPtr pintf)
  {
    TAutoDriver<_InvalidCastException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InvalidCastException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InvalidCastException);
  }


};
typedef _InvalidCastExceptionDispT<_InvalidCastException> _InvalidCastExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_InvalidOperationException
// Interface: _InvalidOperationException
// *********************************************************************//
template <class T /* _InvalidOperationException */ >
class TCOM_InvalidOperationExceptionT : public TComInterface<_InvalidOperationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InvalidOperationExceptionT() {}
  TCOM_InvalidOperationExceptionT(_InvalidOperationException *intf, bool addRef = false) : TComInterface<_InvalidOperationException>(intf, addRef) {}
  TCOM_InvalidOperationExceptionT(const TCOM_InvalidOperationExceptionT& src) : TComInterface<_InvalidOperationException>(src) {}
  TCOM_InvalidOperationExceptionT& operator=(const TCOM_InvalidOperationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InvalidOperationExceptionT<_InvalidOperationException> TCOM_InvalidOperationException;

// *********************************************************************//
// DispIntf:  _InvalidOperationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8D520D10-0B8A-3553-8874-D30A4AD2FF4C}
// *********************************************************************//
template<class T>
class _InvalidOperationExceptionDispT : public TAutoDriver<_InvalidOperationException>
{
public:
  _InvalidOperationExceptionDispT(){}

  _InvalidOperationExceptionDispT(_InvalidOperationException *pintf)
  {
    TAutoDriver<_InvalidOperationException>::Bind(pintf, false);
  }

  _InvalidOperationExceptionDispT(_InvalidOperationExceptionPtr pintf)
  {
    TAutoDriver<_InvalidOperationException>::Bind(pintf, true);
  }

  _InvalidOperationExceptionDispT& operator=(_InvalidOperationException *pintf)
  {
    TAutoDriver<_InvalidOperationException>::Bind(pintf, false);
    return *this;
  }

  _InvalidOperationExceptionDispT& operator=(_InvalidOperationExceptionPtr pintf)
  {
    TAutoDriver<_InvalidOperationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InvalidOperationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InvalidOperationException);
  }


};
typedef _InvalidOperationExceptionDispT<_InvalidOperationException> _InvalidOperationExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_InvalidProgramException
// Interface: _InvalidProgramException
// *********************************************************************//
template <class T /* _InvalidProgramException */ >
class TCOM_InvalidProgramExceptionT : public TComInterface<_InvalidProgramException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InvalidProgramExceptionT() {}
  TCOM_InvalidProgramExceptionT(_InvalidProgramException *intf, bool addRef = false) : TComInterface<_InvalidProgramException>(intf, addRef) {}
  TCOM_InvalidProgramExceptionT(const TCOM_InvalidProgramExceptionT& src) : TComInterface<_InvalidProgramException>(src) {}
  TCOM_InvalidProgramExceptionT& operator=(const TCOM_InvalidProgramExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InvalidProgramExceptionT<_InvalidProgramException> TCOM_InvalidProgramException;

// *********************************************************************//
// DispIntf:  _InvalidProgramException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3410E0FB-636F-3CD1-8045-3993CA113F25}
// *********************************************************************//
template<class T>
class _InvalidProgramExceptionDispT : public TAutoDriver<_InvalidProgramException>
{
public:
  _InvalidProgramExceptionDispT(){}

  _InvalidProgramExceptionDispT(_InvalidProgramException *pintf)
  {
    TAutoDriver<_InvalidProgramException>::Bind(pintf, false);
  }

  _InvalidProgramExceptionDispT(_InvalidProgramExceptionPtr pintf)
  {
    TAutoDriver<_InvalidProgramException>::Bind(pintf, true);
  }

  _InvalidProgramExceptionDispT& operator=(_InvalidProgramException *pintf)
  {
    TAutoDriver<_InvalidProgramException>::Bind(pintf, false);
    return *this;
  }

  _InvalidProgramExceptionDispT& operator=(_InvalidProgramExceptionPtr pintf)
  {
    TAutoDriver<_InvalidProgramException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InvalidProgramException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InvalidProgramException);
  }


};
typedef _InvalidProgramExceptionDispT<_InvalidProgramException> _InvalidProgramExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_LocalDataStoreSlot
// Interface: _LocalDataStoreSlot
// *********************************************************************//
template <class T /* _LocalDataStoreSlot */ >
class TCOM_LocalDataStoreSlotT : public TComInterface<_LocalDataStoreSlot>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LocalDataStoreSlotT() {}
  TCOM_LocalDataStoreSlotT(_LocalDataStoreSlot *intf, bool addRef = false) : TComInterface<_LocalDataStoreSlot>(intf, addRef) {}
  TCOM_LocalDataStoreSlotT(const TCOM_LocalDataStoreSlotT& src) : TComInterface<_LocalDataStoreSlot>(src) {}
  TCOM_LocalDataStoreSlotT& operator=(const TCOM_LocalDataStoreSlotT& src) { Bind(src, true); return *this;}


};
typedef TCOM_LocalDataStoreSlotT<_LocalDataStoreSlot> TCOM_LocalDataStoreSlot;

// *********************************************************************//
// DispIntf:  _LocalDataStoreSlot
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DC77F976-318D-3A1A-9B60-ABB9DD9406D6}
// *********************************************************************//
template<class T>
class _LocalDataStoreSlotDispT : public TAutoDriver<_LocalDataStoreSlot>
{
public:
  _LocalDataStoreSlotDispT(){}

  _LocalDataStoreSlotDispT(_LocalDataStoreSlot *pintf)
  {
    TAutoDriver<_LocalDataStoreSlot>::Bind(pintf, false);
  }

  _LocalDataStoreSlotDispT(_LocalDataStoreSlotPtr pintf)
  {
    TAutoDriver<_LocalDataStoreSlot>::Bind(pintf, true);
  }

  _LocalDataStoreSlotDispT& operator=(_LocalDataStoreSlot *pintf)
  {
    TAutoDriver<_LocalDataStoreSlot>::Bind(pintf, false);
    return *this;
  }

  _LocalDataStoreSlotDispT& operator=(_LocalDataStoreSlotPtr pintf)
  {
    TAutoDriver<_LocalDataStoreSlot>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_LocalDataStoreSlot));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_LocalDataStoreSlot);
  }


};
typedef _LocalDataStoreSlotDispT<_LocalDataStoreSlot> _LocalDataStoreSlotDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodAccessException
// Interface: _MethodAccessException
// *********************************************************************//
template <class T /* _MethodAccessException */ >
class TCOM_MethodAccessExceptionT : public TComInterface<_MethodAccessException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodAccessExceptionT() {}
  TCOM_MethodAccessExceptionT(_MethodAccessException *intf, bool addRef = false) : TComInterface<_MethodAccessException>(intf, addRef) {}
  TCOM_MethodAccessExceptionT(const TCOM_MethodAccessExceptionT& src) : TComInterface<_MethodAccessException>(src) {}
  TCOM_MethodAccessExceptionT& operator=(const TCOM_MethodAccessExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MethodAccessExceptionT<_MethodAccessException> TCOM_MethodAccessException;

// *********************************************************************//
// DispIntf:  _MethodAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FF0BF77D-8F81-3D31-A3BB-6F54440FA7E5}
// *********************************************************************//
template<class T>
class _MethodAccessExceptionDispT : public TAutoDriver<_MethodAccessException>
{
public:
  _MethodAccessExceptionDispT(){}

  _MethodAccessExceptionDispT(_MethodAccessException *pintf)
  {
    TAutoDriver<_MethodAccessException>::Bind(pintf, false);
  }

  _MethodAccessExceptionDispT(_MethodAccessExceptionPtr pintf)
  {
    TAutoDriver<_MethodAccessException>::Bind(pintf, true);
  }

  _MethodAccessExceptionDispT& operator=(_MethodAccessException *pintf)
  {
    TAutoDriver<_MethodAccessException>::Bind(pintf, false);
    return *this;
  }

  _MethodAccessExceptionDispT& operator=(_MethodAccessExceptionPtr pintf)
  {
    TAutoDriver<_MethodAccessException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MethodAccessException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MethodAccessException);
  }


};
typedef _MethodAccessExceptionDispT<_MethodAccessException> _MethodAccessExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_MissingMemberException
// Interface: _MissingMemberException
// *********************************************************************//
template <class T /* _MissingMemberException */ >
class TCOM_MissingMemberExceptionT : public TComInterface<_MissingMemberException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MissingMemberExceptionT() {}
  TCOM_MissingMemberExceptionT(_MissingMemberException *intf, bool addRef = false) : TComInterface<_MissingMemberException>(intf, addRef) {}
  TCOM_MissingMemberExceptionT(const TCOM_MissingMemberExceptionT& src) : TComInterface<_MissingMemberException>(src) {}
  TCOM_MissingMemberExceptionT& operator=(const TCOM_MissingMemberExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MissingMemberExceptionT<_MissingMemberException> TCOM_MissingMemberException;

// *********************************************************************//
// DispIntf:  _MissingMemberException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8897D14B-7FB3-3D8B-9EE4-221C3DBAD6FE}
// *********************************************************************//
template<class T>
class _MissingMemberExceptionDispT : public TAutoDriver<_MissingMemberException>
{
public:
  _MissingMemberExceptionDispT(){}

  _MissingMemberExceptionDispT(_MissingMemberException *pintf)
  {
    TAutoDriver<_MissingMemberException>::Bind(pintf, false);
  }

  _MissingMemberExceptionDispT(_MissingMemberExceptionPtr pintf)
  {
    TAutoDriver<_MissingMemberException>::Bind(pintf, true);
  }

  _MissingMemberExceptionDispT& operator=(_MissingMemberException *pintf)
  {
    TAutoDriver<_MissingMemberException>::Bind(pintf, false);
    return *this;
  }

  _MissingMemberExceptionDispT& operator=(_MissingMemberExceptionPtr pintf)
  {
    TAutoDriver<_MissingMemberException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MissingMemberException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MissingMemberException);
  }


};
typedef _MissingMemberExceptionDispT<_MissingMemberException> _MissingMemberExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_MissingFieldException
// Interface: _MissingFieldException
// *********************************************************************//
template <class T /* _MissingFieldException */ >
class TCOM_MissingFieldExceptionT : public TComInterface<_MissingFieldException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MissingFieldExceptionT() {}
  TCOM_MissingFieldExceptionT(_MissingFieldException *intf, bool addRef = false) : TComInterface<_MissingFieldException>(intf, addRef) {}
  TCOM_MissingFieldExceptionT(const TCOM_MissingFieldExceptionT& src) : TComInterface<_MissingFieldException>(src) {}
  TCOM_MissingFieldExceptionT& operator=(const TCOM_MissingFieldExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MissingFieldExceptionT<_MissingFieldException> TCOM_MissingFieldException;

// *********************************************************************//
// DispIntf:  _MissingFieldException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9717176D-1179-3487-8849-CF5F63DE356E}
// *********************************************************************//
template<class T>
class _MissingFieldExceptionDispT : public TAutoDriver<_MissingFieldException>
{
public:
  _MissingFieldExceptionDispT(){}

  _MissingFieldExceptionDispT(_MissingFieldException *pintf)
  {
    TAutoDriver<_MissingFieldException>::Bind(pintf, false);
  }

  _MissingFieldExceptionDispT(_MissingFieldExceptionPtr pintf)
  {
    TAutoDriver<_MissingFieldException>::Bind(pintf, true);
  }

  _MissingFieldExceptionDispT& operator=(_MissingFieldException *pintf)
  {
    TAutoDriver<_MissingFieldException>::Bind(pintf, false);
    return *this;
  }

  _MissingFieldExceptionDispT& operator=(_MissingFieldExceptionPtr pintf)
  {
    TAutoDriver<_MissingFieldException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MissingFieldException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MissingFieldException);
  }


};
typedef _MissingFieldExceptionDispT<_MissingFieldException> _MissingFieldExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_MissingMethodException
// Interface: _MissingMethodException
// *********************************************************************//
template <class T /* _MissingMethodException */ >
class TCOM_MissingMethodExceptionT : public TComInterface<_MissingMethodException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MissingMethodExceptionT() {}
  TCOM_MissingMethodExceptionT(_MissingMethodException *intf, bool addRef = false) : TComInterface<_MissingMethodException>(intf, addRef) {}
  TCOM_MissingMethodExceptionT(const TCOM_MissingMethodExceptionT& src) : TComInterface<_MissingMethodException>(src) {}
  TCOM_MissingMethodExceptionT& operator=(const TCOM_MissingMethodExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MissingMethodExceptionT<_MissingMethodException> TCOM_MissingMethodException;

// *********************************************************************//
// DispIntf:  _MissingMethodException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5C659F6-92C8-3887-A07E-74D0D9C6267A}
// *********************************************************************//
template<class T>
class _MissingMethodExceptionDispT : public TAutoDriver<_MissingMethodException>
{
public:
  _MissingMethodExceptionDispT(){}

  _MissingMethodExceptionDispT(_MissingMethodException *pintf)
  {
    TAutoDriver<_MissingMethodException>::Bind(pintf, false);
  }

  _MissingMethodExceptionDispT(_MissingMethodExceptionPtr pintf)
  {
    TAutoDriver<_MissingMethodException>::Bind(pintf, true);
  }

  _MissingMethodExceptionDispT& operator=(_MissingMethodException *pintf)
  {
    TAutoDriver<_MissingMethodException>::Bind(pintf, false);
    return *this;
  }

  _MissingMethodExceptionDispT& operator=(_MissingMethodExceptionPtr pintf)
  {
    TAutoDriver<_MissingMethodException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MissingMethodException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MissingMethodException);
  }


};
typedef _MissingMethodExceptionDispT<_MissingMethodException> _MissingMethodExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_MulticastNotSupportedException
// Interface: _MulticastNotSupportedException
// *********************************************************************//
template <class T /* _MulticastNotSupportedException */ >
class TCOM_MulticastNotSupportedExceptionT : public TComInterface<_MulticastNotSupportedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MulticastNotSupportedExceptionT() {}
  TCOM_MulticastNotSupportedExceptionT(_MulticastNotSupportedException *intf, bool addRef = false) : TComInterface<_MulticastNotSupportedException>(intf, addRef) {}
  TCOM_MulticastNotSupportedExceptionT(const TCOM_MulticastNotSupportedExceptionT& src) : TComInterface<_MulticastNotSupportedException>(src) {}
  TCOM_MulticastNotSupportedExceptionT& operator=(const TCOM_MulticastNotSupportedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MulticastNotSupportedExceptionT<_MulticastNotSupportedException> TCOM_MulticastNotSupportedException;

// *********************************************************************//
// DispIntf:  _MulticastNotSupportedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D2BA71CC-1B3D-3966-A0D7-C61E957AD325}
// *********************************************************************//
template<class T>
class _MulticastNotSupportedExceptionDispT : public TAutoDriver<_MulticastNotSupportedException>
{
public:
  _MulticastNotSupportedExceptionDispT(){}

  _MulticastNotSupportedExceptionDispT(_MulticastNotSupportedException *pintf)
  {
    TAutoDriver<_MulticastNotSupportedException>::Bind(pintf, false);
  }

  _MulticastNotSupportedExceptionDispT(_MulticastNotSupportedExceptionPtr pintf)
  {
    TAutoDriver<_MulticastNotSupportedException>::Bind(pintf, true);
  }

  _MulticastNotSupportedExceptionDispT& operator=(_MulticastNotSupportedException *pintf)
  {
    TAutoDriver<_MulticastNotSupportedException>::Bind(pintf, false);
    return *this;
  }

  _MulticastNotSupportedExceptionDispT& operator=(_MulticastNotSupportedExceptionPtr pintf)
  {
    TAutoDriver<_MulticastNotSupportedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MulticastNotSupportedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MulticastNotSupportedException);
  }


};
typedef _MulticastNotSupportedExceptionDispT<_MulticastNotSupportedException> _MulticastNotSupportedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_NonSerializedAttribute
// Interface: _NonSerializedAttribute
// *********************************************************************//
template <class T /* _NonSerializedAttribute */ >
class TCOM_NonSerializedAttributeT : public TComInterface<_NonSerializedAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NonSerializedAttributeT() {}
  TCOM_NonSerializedAttributeT(_NonSerializedAttribute *intf, bool addRef = false) : TComInterface<_NonSerializedAttribute>(intf, addRef) {}
  TCOM_NonSerializedAttributeT(const TCOM_NonSerializedAttributeT& src) : TComInterface<_NonSerializedAttribute>(src) {}
  TCOM_NonSerializedAttributeT& operator=(const TCOM_NonSerializedAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NonSerializedAttributeT<_NonSerializedAttribute> TCOM_NonSerializedAttribute;

// *********************************************************************//
// DispIntf:  _NonSerializedAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {665C9669-B9C6-3ADD-9213-099F0127C893}
// *********************************************************************//
template<class T>
class _NonSerializedAttributeDispT : public TAutoDriver<_NonSerializedAttribute>
{
public:
  _NonSerializedAttributeDispT(){}

  _NonSerializedAttributeDispT(_NonSerializedAttribute *pintf)
  {
    TAutoDriver<_NonSerializedAttribute>::Bind(pintf, false);
  }

  _NonSerializedAttributeDispT(_NonSerializedAttributePtr pintf)
  {
    TAutoDriver<_NonSerializedAttribute>::Bind(pintf, true);
  }

  _NonSerializedAttributeDispT& operator=(_NonSerializedAttribute *pintf)
  {
    TAutoDriver<_NonSerializedAttribute>::Bind(pintf, false);
    return *this;
  }

  _NonSerializedAttributeDispT& operator=(_NonSerializedAttributePtr pintf)
  {
    TAutoDriver<_NonSerializedAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NonSerializedAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NonSerializedAttribute);
  }


};
typedef _NonSerializedAttributeDispT<_NonSerializedAttribute> _NonSerializedAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_NotFiniteNumberException
// Interface: _NotFiniteNumberException
// *********************************************************************//
template <class T /* _NotFiniteNumberException */ >
class TCOM_NotFiniteNumberExceptionT : public TComInterface<_NotFiniteNumberException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NotFiniteNumberExceptionT() {}
  TCOM_NotFiniteNumberExceptionT(_NotFiniteNumberException *intf, bool addRef = false) : TComInterface<_NotFiniteNumberException>(intf, addRef) {}
  TCOM_NotFiniteNumberExceptionT(const TCOM_NotFiniteNumberExceptionT& src) : TComInterface<_NotFiniteNumberException>(src) {}
  TCOM_NotFiniteNumberExceptionT& operator=(const TCOM_NotFiniteNumberExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NotFiniteNumberExceptionT<_NotFiniteNumberException> TCOM_NotFiniteNumberException;

// *********************************************************************//
// DispIntf:  _NotFiniteNumberException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8E21CE22-4F17-347B-B3B5-6A6DF3E0E58A}
// *********************************************************************//
template<class T>
class _NotFiniteNumberExceptionDispT : public TAutoDriver<_NotFiniteNumberException>
{
public:
  _NotFiniteNumberExceptionDispT(){}

  _NotFiniteNumberExceptionDispT(_NotFiniteNumberException *pintf)
  {
    TAutoDriver<_NotFiniteNumberException>::Bind(pintf, false);
  }

  _NotFiniteNumberExceptionDispT(_NotFiniteNumberExceptionPtr pintf)
  {
    TAutoDriver<_NotFiniteNumberException>::Bind(pintf, true);
  }

  _NotFiniteNumberExceptionDispT& operator=(_NotFiniteNumberException *pintf)
  {
    TAutoDriver<_NotFiniteNumberException>::Bind(pintf, false);
    return *this;
  }

  _NotFiniteNumberExceptionDispT& operator=(_NotFiniteNumberExceptionPtr pintf)
  {
    TAutoDriver<_NotFiniteNumberException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NotFiniteNumberException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NotFiniteNumberException);
  }


};
typedef _NotFiniteNumberExceptionDispT<_NotFiniteNumberException> _NotFiniteNumberExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_NotImplementedException
// Interface: _NotImplementedException
// *********************************************************************//
template <class T /* _NotImplementedException */ >
class TCOM_NotImplementedExceptionT : public TComInterface<_NotImplementedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NotImplementedExceptionT() {}
  TCOM_NotImplementedExceptionT(_NotImplementedException *intf, bool addRef = false) : TComInterface<_NotImplementedException>(intf, addRef) {}
  TCOM_NotImplementedExceptionT(const TCOM_NotImplementedExceptionT& src) : TComInterface<_NotImplementedException>(src) {}
  TCOM_NotImplementedExceptionT& operator=(const TCOM_NotImplementedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NotImplementedExceptionT<_NotImplementedException> TCOM_NotImplementedException;

// *********************************************************************//
// DispIntf:  _NotImplementedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1E4D31A2-63EA-397A-A77E-B20AD87A9614}
// *********************************************************************//
template<class T>
class _NotImplementedExceptionDispT : public TAutoDriver<_NotImplementedException>
{
public:
  _NotImplementedExceptionDispT(){}

  _NotImplementedExceptionDispT(_NotImplementedException *pintf)
  {
    TAutoDriver<_NotImplementedException>::Bind(pintf, false);
  }

  _NotImplementedExceptionDispT(_NotImplementedExceptionPtr pintf)
  {
    TAutoDriver<_NotImplementedException>::Bind(pintf, true);
  }

  _NotImplementedExceptionDispT& operator=(_NotImplementedException *pintf)
  {
    TAutoDriver<_NotImplementedException>::Bind(pintf, false);
    return *this;
  }

  _NotImplementedExceptionDispT& operator=(_NotImplementedExceptionPtr pintf)
  {
    TAutoDriver<_NotImplementedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NotImplementedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NotImplementedException);
  }


};
typedef _NotImplementedExceptionDispT<_NotImplementedException> _NotImplementedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_NotSupportedException
// Interface: _NotSupportedException
// *********************************************************************//
template <class T /* _NotSupportedException */ >
class TCOM_NotSupportedExceptionT : public TComInterface<_NotSupportedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NotSupportedExceptionT() {}
  TCOM_NotSupportedExceptionT(_NotSupportedException *intf, bool addRef = false) : TComInterface<_NotSupportedException>(intf, addRef) {}
  TCOM_NotSupportedExceptionT(const TCOM_NotSupportedExceptionT& src) : TComInterface<_NotSupportedException>(src) {}
  TCOM_NotSupportedExceptionT& operator=(const TCOM_NotSupportedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NotSupportedExceptionT<_NotSupportedException> TCOM_NotSupportedException;

// *********************************************************************//
// DispIntf:  _NotSupportedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {40E5451F-B237-33F8-945B-0230DB700BBB}
// *********************************************************************//
template<class T>
class _NotSupportedExceptionDispT : public TAutoDriver<_NotSupportedException>
{
public:
  _NotSupportedExceptionDispT(){}

  _NotSupportedExceptionDispT(_NotSupportedException *pintf)
  {
    TAutoDriver<_NotSupportedException>::Bind(pintf, false);
  }

  _NotSupportedExceptionDispT(_NotSupportedExceptionPtr pintf)
  {
    TAutoDriver<_NotSupportedException>::Bind(pintf, true);
  }

  _NotSupportedExceptionDispT& operator=(_NotSupportedException *pintf)
  {
    TAutoDriver<_NotSupportedException>::Bind(pintf, false);
    return *this;
  }

  _NotSupportedExceptionDispT& operator=(_NotSupportedExceptionPtr pintf)
  {
    TAutoDriver<_NotSupportedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NotSupportedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NotSupportedException);
  }


};
typedef _NotSupportedExceptionDispT<_NotSupportedException> _NotSupportedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_NullReferenceException
// Interface: _NullReferenceException
// *********************************************************************//
template <class T /* _NullReferenceException */ >
class TCOM_NullReferenceExceptionT : public TComInterface<_NullReferenceException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NullReferenceExceptionT() {}
  TCOM_NullReferenceExceptionT(_NullReferenceException *intf, bool addRef = false) : TComInterface<_NullReferenceException>(intf, addRef) {}
  TCOM_NullReferenceExceptionT(const TCOM_NullReferenceExceptionT& src) : TComInterface<_NullReferenceException>(src) {}
  TCOM_NullReferenceExceptionT& operator=(const TCOM_NullReferenceExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NullReferenceExceptionT<_NullReferenceException> TCOM_NullReferenceException;

// *********************************************************************//
// DispIntf:  _NullReferenceException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ECBE2313-CF41-34B4-9FD0-B6CD602B023F}
// *********************************************************************//
template<class T>
class _NullReferenceExceptionDispT : public TAutoDriver<_NullReferenceException>
{
public:
  _NullReferenceExceptionDispT(){}

  _NullReferenceExceptionDispT(_NullReferenceException *pintf)
  {
    TAutoDriver<_NullReferenceException>::Bind(pintf, false);
  }

  _NullReferenceExceptionDispT(_NullReferenceExceptionPtr pintf)
  {
    TAutoDriver<_NullReferenceException>::Bind(pintf, true);
  }

  _NullReferenceExceptionDispT& operator=(_NullReferenceException *pintf)
  {
    TAutoDriver<_NullReferenceException>::Bind(pintf, false);
    return *this;
  }

  _NullReferenceExceptionDispT& operator=(_NullReferenceExceptionPtr pintf)
  {
    TAutoDriver<_NullReferenceException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NullReferenceException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NullReferenceException);
  }


};
typedef _NullReferenceExceptionDispT<_NullReferenceException> _NullReferenceExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObjectDisposedException
// Interface: _ObjectDisposedException
// *********************************************************************//
template <class T /* _ObjectDisposedException */ >
class TCOM_ObjectDisposedExceptionT : public TComInterface<_ObjectDisposedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObjectDisposedExceptionT() {}
  TCOM_ObjectDisposedExceptionT(_ObjectDisposedException *intf, bool addRef = false) : TComInterface<_ObjectDisposedException>(intf, addRef) {}
  TCOM_ObjectDisposedExceptionT(const TCOM_ObjectDisposedExceptionT& src) : TComInterface<_ObjectDisposedException>(src) {}
  TCOM_ObjectDisposedExceptionT& operator=(const TCOM_ObjectDisposedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObjectDisposedExceptionT<_ObjectDisposedException> TCOM_ObjectDisposedException;

// *********************************************************************//
// DispIntf:  _ObjectDisposedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {17B730BA-45EF-3DDF-9F8D-A490BAC731F4}
// *********************************************************************//
template<class T>
class _ObjectDisposedExceptionDispT : public TAutoDriver<_ObjectDisposedException>
{
public:
  _ObjectDisposedExceptionDispT(){}

  _ObjectDisposedExceptionDispT(_ObjectDisposedException *pintf)
  {
    TAutoDriver<_ObjectDisposedException>::Bind(pintf, false);
  }

  _ObjectDisposedExceptionDispT(_ObjectDisposedExceptionPtr pintf)
  {
    TAutoDriver<_ObjectDisposedException>::Bind(pintf, true);
  }

  _ObjectDisposedExceptionDispT& operator=(_ObjectDisposedException *pintf)
  {
    TAutoDriver<_ObjectDisposedException>::Bind(pintf, false);
    return *this;
  }

  _ObjectDisposedExceptionDispT& operator=(_ObjectDisposedExceptionPtr pintf)
  {
    TAutoDriver<_ObjectDisposedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObjectDisposedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObjectDisposedException);
  }


};
typedef _ObjectDisposedExceptionDispT<_ObjectDisposedException> _ObjectDisposedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObsoleteAttribute
// Interface: _ObsoleteAttribute
// *********************************************************************//
template <class T /* _ObsoleteAttribute */ >
class TCOM_ObsoleteAttributeT : public TComInterface<_ObsoleteAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObsoleteAttributeT() {}
  TCOM_ObsoleteAttributeT(_ObsoleteAttribute *intf, bool addRef = false) : TComInterface<_ObsoleteAttribute>(intf, addRef) {}
  TCOM_ObsoleteAttributeT(const TCOM_ObsoleteAttributeT& src) : TComInterface<_ObsoleteAttribute>(src) {}
  TCOM_ObsoleteAttributeT& operator=(const TCOM_ObsoleteAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObsoleteAttributeT<_ObsoleteAttribute> TCOM_ObsoleteAttribute;

// *********************************************************************//
// DispIntf:  _ObsoleteAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E84307BE-3036-307A-ACC2-5D5DE8A006A8}
// *********************************************************************//
template<class T>
class _ObsoleteAttributeDispT : public TAutoDriver<_ObsoleteAttribute>
{
public:
  _ObsoleteAttributeDispT(){}

  _ObsoleteAttributeDispT(_ObsoleteAttribute *pintf)
  {
    TAutoDriver<_ObsoleteAttribute>::Bind(pintf, false);
  }

  _ObsoleteAttributeDispT(_ObsoleteAttributePtr pintf)
  {
    TAutoDriver<_ObsoleteAttribute>::Bind(pintf, true);
  }

  _ObsoleteAttributeDispT& operator=(_ObsoleteAttribute *pintf)
  {
    TAutoDriver<_ObsoleteAttribute>::Bind(pintf, false);
    return *this;
  }

  _ObsoleteAttributeDispT& operator=(_ObsoleteAttributePtr pintf)
  {
    TAutoDriver<_ObsoleteAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObsoleteAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObsoleteAttribute);
  }


};
typedef _ObsoleteAttributeDispT<_ObsoleteAttribute> _ObsoleteAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_OperatingSystem
// Interface: _OperatingSystem
// *********************************************************************//
template <class T /* _OperatingSystem */ >
class TCOM_OperatingSystemT : public TComInterface<_OperatingSystem>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OperatingSystemT() {}
  TCOM_OperatingSystemT(_OperatingSystem *intf, bool addRef = false) : TComInterface<_OperatingSystem>(intf, addRef) {}
  TCOM_OperatingSystemT(const TCOM_OperatingSystemT& src) : TComInterface<_OperatingSystem>(src) {}
  TCOM_OperatingSystemT& operator=(const TCOM_OperatingSystemT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OperatingSystemT<_OperatingSystem> TCOM_OperatingSystem;

// *********************************************************************//
// DispIntf:  _OperatingSystem
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9E230640-A5D0-30E1-B217-9D2B6CC0FC40}
// *********************************************************************//
template<class T>
class _OperatingSystemDispT : public TAutoDriver<_OperatingSystem>
{
public:
  _OperatingSystemDispT(){}

  _OperatingSystemDispT(_OperatingSystem *pintf)
  {
    TAutoDriver<_OperatingSystem>::Bind(pintf, false);
  }

  _OperatingSystemDispT(_OperatingSystemPtr pintf)
  {
    TAutoDriver<_OperatingSystem>::Bind(pintf, true);
  }

  _OperatingSystemDispT& operator=(_OperatingSystem *pintf)
  {
    TAutoDriver<_OperatingSystem>::Bind(pintf, false);
    return *this;
  }

  _OperatingSystemDispT& operator=(_OperatingSystemPtr pintf)
  {
    TAutoDriver<_OperatingSystem>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OperatingSystem));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OperatingSystem);
  }


};
typedef _OperatingSystemDispT<_OperatingSystem> _OperatingSystemDisp;

// *********************************************************************//
// SmartIntf: TCOM_OperationCanceledException
// Interface: _OperationCanceledException
// *********************************************************************//
template <class T /* _OperationCanceledException */ >
class TCOM_OperationCanceledExceptionT : public TComInterface<_OperationCanceledException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OperationCanceledExceptionT() {}
  TCOM_OperationCanceledExceptionT(_OperationCanceledException *intf, bool addRef = false) : TComInterface<_OperationCanceledException>(intf, addRef) {}
  TCOM_OperationCanceledExceptionT(const TCOM_OperationCanceledExceptionT& src) : TComInterface<_OperationCanceledException>(src) {}
  TCOM_OperationCanceledExceptionT& operator=(const TCOM_OperationCanceledExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OperationCanceledExceptionT<_OperationCanceledException> TCOM_OperationCanceledException;

// *********************************************************************//
// DispIntf:  _OperationCanceledException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9DF9AF5A-7853-3D55-9B48-BD1F5D8367AB}
// *********************************************************************//
template<class T>
class _OperationCanceledExceptionDispT : public TAutoDriver<_OperationCanceledException>
{
public:
  _OperationCanceledExceptionDispT(){}

  _OperationCanceledExceptionDispT(_OperationCanceledException *pintf)
  {
    TAutoDriver<_OperationCanceledException>::Bind(pintf, false);
  }

  _OperationCanceledExceptionDispT(_OperationCanceledExceptionPtr pintf)
  {
    TAutoDriver<_OperationCanceledException>::Bind(pintf, true);
  }

  _OperationCanceledExceptionDispT& operator=(_OperationCanceledException *pintf)
  {
    TAutoDriver<_OperationCanceledException>::Bind(pintf, false);
    return *this;
  }

  _OperationCanceledExceptionDispT& operator=(_OperationCanceledExceptionPtr pintf)
  {
    TAutoDriver<_OperationCanceledException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OperationCanceledException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OperationCanceledException);
  }


};
typedef _OperationCanceledExceptionDispT<_OperationCanceledException> _OperationCanceledExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_OverflowException
// Interface: _OverflowException
// *********************************************************************//
template <class T /* _OverflowException */ >
class TCOM_OverflowExceptionT : public TComInterface<_OverflowException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OverflowExceptionT() {}
  TCOM_OverflowExceptionT(_OverflowException *intf, bool addRef = false) : TComInterface<_OverflowException>(intf, addRef) {}
  TCOM_OverflowExceptionT(const TCOM_OverflowExceptionT& src) : TComInterface<_OverflowException>(src) {}
  TCOM_OverflowExceptionT& operator=(const TCOM_OverflowExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OverflowExceptionT<_OverflowException> TCOM_OverflowException;

// *********************************************************************//
// DispIntf:  _OverflowException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {37C69A5D-7619-3A0F-A96B-9C9578AE00EF}
// *********************************************************************//
template<class T>
class _OverflowExceptionDispT : public TAutoDriver<_OverflowException>
{
public:
  _OverflowExceptionDispT(){}

  _OverflowExceptionDispT(_OverflowException *pintf)
  {
    TAutoDriver<_OverflowException>::Bind(pintf, false);
  }

  _OverflowExceptionDispT(_OverflowExceptionPtr pintf)
  {
    TAutoDriver<_OverflowException>::Bind(pintf, true);
  }

  _OverflowExceptionDispT& operator=(_OverflowException *pintf)
  {
    TAutoDriver<_OverflowException>::Bind(pintf, false);
    return *this;
  }

  _OverflowExceptionDispT& operator=(_OverflowExceptionPtr pintf)
  {
    TAutoDriver<_OverflowException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OverflowException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OverflowException);
  }


};
typedef _OverflowExceptionDispT<_OverflowException> _OverflowExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ParamArrayAttribute
// Interface: _ParamArrayAttribute
// *********************************************************************//
template <class T /* _ParamArrayAttribute */ >
class TCOM_ParamArrayAttributeT : public TComInterface<_ParamArrayAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ParamArrayAttributeT() {}
  TCOM_ParamArrayAttributeT(_ParamArrayAttribute *intf, bool addRef = false) : TComInterface<_ParamArrayAttribute>(intf, addRef) {}
  TCOM_ParamArrayAttributeT(const TCOM_ParamArrayAttributeT& src) : TComInterface<_ParamArrayAttribute>(src) {}
  TCOM_ParamArrayAttributeT& operator=(const TCOM_ParamArrayAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ParamArrayAttributeT<_ParamArrayAttribute> TCOM_ParamArrayAttribute;

// *********************************************************************//
// DispIntf:  _ParamArrayAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D54500AE-8CF4-3092-9054-90DC91AC65C9}
// *********************************************************************//
template<class T>
class _ParamArrayAttributeDispT : public TAutoDriver<_ParamArrayAttribute>
{
public:
  _ParamArrayAttributeDispT(){}

  _ParamArrayAttributeDispT(_ParamArrayAttribute *pintf)
  {
    TAutoDriver<_ParamArrayAttribute>::Bind(pintf, false);
  }

  _ParamArrayAttributeDispT(_ParamArrayAttributePtr pintf)
  {
    TAutoDriver<_ParamArrayAttribute>::Bind(pintf, true);
  }

  _ParamArrayAttributeDispT& operator=(_ParamArrayAttribute *pintf)
  {
    TAutoDriver<_ParamArrayAttribute>::Bind(pintf, false);
    return *this;
  }

  _ParamArrayAttributeDispT& operator=(_ParamArrayAttributePtr pintf)
  {
    TAutoDriver<_ParamArrayAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ParamArrayAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ParamArrayAttribute);
  }


};
typedef _ParamArrayAttributeDispT<_ParamArrayAttribute> _ParamArrayAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_PlatformNotSupportedException
// Interface: _PlatformNotSupportedException
// *********************************************************************//
template <class T /* _PlatformNotSupportedException */ >
class TCOM_PlatformNotSupportedExceptionT : public TComInterface<_PlatformNotSupportedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PlatformNotSupportedExceptionT() {}
  TCOM_PlatformNotSupportedExceptionT(_PlatformNotSupportedException *intf, bool addRef = false) : TComInterface<_PlatformNotSupportedException>(intf, addRef) {}
  TCOM_PlatformNotSupportedExceptionT(const TCOM_PlatformNotSupportedExceptionT& src) : TComInterface<_PlatformNotSupportedException>(src) {}
  TCOM_PlatformNotSupportedExceptionT& operator=(const TCOM_PlatformNotSupportedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PlatformNotSupportedExceptionT<_PlatformNotSupportedException> TCOM_PlatformNotSupportedException;

// *********************************************************************//
// DispIntf:  _PlatformNotSupportedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1EB8340B-8190-3D9D-92F8-51244B9804C5}
// *********************************************************************//
template<class T>
class _PlatformNotSupportedExceptionDispT : public TAutoDriver<_PlatformNotSupportedException>
{
public:
  _PlatformNotSupportedExceptionDispT(){}

  _PlatformNotSupportedExceptionDispT(_PlatformNotSupportedException *pintf)
  {
    TAutoDriver<_PlatformNotSupportedException>::Bind(pintf, false);
  }

  _PlatformNotSupportedExceptionDispT(_PlatformNotSupportedExceptionPtr pintf)
  {
    TAutoDriver<_PlatformNotSupportedException>::Bind(pintf, true);
  }

  _PlatformNotSupportedExceptionDispT& operator=(_PlatformNotSupportedException *pintf)
  {
    TAutoDriver<_PlatformNotSupportedException>::Bind(pintf, false);
    return *this;
  }

  _PlatformNotSupportedExceptionDispT& operator=(_PlatformNotSupportedExceptionPtr pintf)
  {
    TAutoDriver<_PlatformNotSupportedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PlatformNotSupportedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PlatformNotSupportedException);
  }


};
typedef _PlatformNotSupportedExceptionDispT<_PlatformNotSupportedException> _PlatformNotSupportedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Random
// Interface: _Random
// *********************************************************************//
template <class T /* _Random */ >
class TCOM_RandomT : public TComInterface<_Random>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RandomT() {}
  TCOM_RandomT(_Random *intf, bool addRef = false) : TComInterface<_Random>(intf, addRef) {}
  TCOM_RandomT(const TCOM_RandomT& src) : TComInterface<_Random>(src) {}
  TCOM_RandomT& operator=(const TCOM_RandomT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RandomT<_Random> TCOM_Random;

// *********************************************************************//
// DispIntf:  _Random
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0F240708-629A-31AB-94A5-2BB476FE1783}
// *********************************************************************//
template<class T>
class _RandomDispT : public TAutoDriver<_Random>
{
public:
  _RandomDispT(){}

  _RandomDispT(_Random *pintf)
  {
    TAutoDriver<_Random>::Bind(pintf, false);
  }

  _RandomDispT(_RandomPtr pintf)
  {
    TAutoDriver<_Random>::Bind(pintf, true);
  }

  _RandomDispT& operator=(_Random *pintf)
  {
    TAutoDriver<_Random>::Bind(pintf, false);
    return *this;
  }

  _RandomDispT& operator=(_RandomPtr pintf)
  {
    TAutoDriver<_Random>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Random));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Random);
  }


};
typedef _RandomDispT<_Random> _RandomDisp;

// *********************************************************************//
// SmartIntf: TCOM_RankException
// Interface: _RankException
// *********************************************************************//
template <class T /* _RankException */ >
class TCOM_RankExceptionT : public TComInterface<_RankException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RankExceptionT() {}
  TCOM_RankExceptionT(_RankException *intf, bool addRef = false) : TComInterface<_RankException>(intf, addRef) {}
  TCOM_RankExceptionT(const TCOM_RankExceptionT& src) : TComInterface<_RankException>(src) {}
  TCOM_RankExceptionT& operator=(const TCOM_RankExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RankExceptionT<_RankException> TCOM_RankException;

// *********************************************************************//
// DispIntf:  _RankException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {871DDC46-B68E-3FEE-A09A-C808B0F827E6}
// *********************************************************************//
template<class T>
class _RankExceptionDispT : public TAutoDriver<_RankException>
{
public:
  _RankExceptionDispT(){}

  _RankExceptionDispT(_RankException *pintf)
  {
    TAutoDriver<_RankException>::Bind(pintf, false);
  }

  _RankExceptionDispT(_RankExceptionPtr pintf)
  {
    TAutoDriver<_RankException>::Bind(pintf, true);
  }

  _RankExceptionDispT& operator=(_RankException *pintf)
  {
    TAutoDriver<_RankException>::Bind(pintf, false);
    return *this;
  }

  _RankExceptionDispT& operator=(_RankExceptionPtr pintf)
  {
    TAutoDriver<_RankException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RankException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RankException);
  }


};
typedef _RankExceptionDispT<_RankException> _RankExceptionDisp;

typedef TComInterface<ICustomAttributeProvider>  TCOMICustomAttributeProvider;

// *********************************************************************//
// DispIntf:  ICustomAttributeProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B9B91146-D6C2-3A62-8159-C2D1794CDEB0}
// *********************************************************************//
template<class T>
class ICustomAttributeProviderDispT : public TAutoDriver<ICustomAttributeProvider>
{
public:
  ICustomAttributeProviderDispT(){}

  ICustomAttributeProviderDispT(ICustomAttributeProvider *pintf)
  {
    TAutoDriver<ICustomAttributeProvider>::Bind(pintf, false);
  }

  ICustomAttributeProviderDispT(ICustomAttributeProviderPtr pintf)
  {
    TAutoDriver<ICustomAttributeProvider>::Bind(pintf, true);
  }

  ICustomAttributeProviderDispT& operator=(ICustomAttributeProvider *pintf)
  {
    TAutoDriver<ICustomAttributeProvider>::Bind(pintf, false);
    return *this;
  }

  ICustomAttributeProviderDispT& operator=(ICustomAttributeProviderPtr pintf)
  {
    TAutoDriver<ICustomAttributeProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);

};
typedef ICustomAttributeProviderDispT<ICustomAttributeProvider> ICustomAttributeProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_MemberInfo
// Interface: _MemberInfo
// *********************************************************************//
template <class T /* _MemberInfo */ >
class TCOM_MemberInfoT : public TComInterface<_MemberInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MemberInfoT() {}
  TCOM_MemberInfoT(_MemberInfo *intf, bool addRef = false) : TComInterface<_MemberInfo>(intf, addRef) {}
  TCOM_MemberInfoT(const TCOM_MemberInfoT& src) : TComInterface<_MemberInfo>(src) {}
  TCOM_MemberInfoT& operator=(const TCOM_MemberInfoT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
};
typedef TCOM_MemberInfoT<_MemberInfo> TCOM_MemberInfo;

// *********************************************************************//
// SmartIntf: TCOM_Type
// Interface: _Type
// *********************************************************************//
template <class T /* _Type */ >
class TCOM_TypeT : public TComInterface<_Type>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeT() {}
  TCOM_TypeT(_Type *intf, bool addRef = false) : TComInterface<_Type>(intf, addRef) {}
  TCOM_TypeT(const TCOM_TypeT& src) : TComInterface<_Type>(src) {}
  TCOM_TypeT& operator=(const TCOM_TypeT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall get_Guid(TGUID* pRetVal/*[out,retval]*/);
  TGUID           __fastcall get_Guid(void);
  HRESULT         __fastcall get_Module(Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ModulePtr __fastcall get_Module(void);
  HRESULT         __fastcall get_Assembly(Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall get_Assembly(void);
  HRESULT         __fastcall get_TypeHandle(Mscorlib_tlb::RuntimeTypeHandle* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::RuntimeTypeHandle __fastcall get_TypeHandle(void);
  HRESULT         __fastcall get_FullName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_FullName(void);
  HRESULT         __fastcall get_Namespace(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Namespace(void);
  HRESULT         __fastcall get_AssemblyQualifiedName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_AssemblyQualifiedName(void);
  HRESULT         __fastcall GetArrayRank(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetArrayRank(void);
  HRESULT         __fastcall get_BaseType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_BaseType(void);
  HRESULT         __fastcall GetConstructors(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                             LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetConstructors(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetInterface(BSTR name/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                          Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetInterface(BSTR name/*[in]*/, TOLEBOOL ignoreCase/*[in]*/);
  HRESULT         __fastcall GetInterfaces(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetInterfaces(void);
  HRESULT         __fastcall FindInterfaces(Mscorlib_tlb::_TypeFilterPtr filter/*[in]*/, 
                                            TVariantInParam filterCriteria/*[in]*/, 
                                            LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall FindInterfaces(Mscorlib_tlb::_TypeFilterPtr filter/*[in]*/, 
                                            TVariantInParam filterCriteria/*[in]*/);
  HRESULT         __fastcall GetEvent(BSTR name/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                      Mscorlib_tlb::_EventInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_EventInfoPtr __fastcall GetEvent(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetEvents(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetEvents(void);
  HRESULT         __fastcall GetEvents_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetEvents_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetNestedTypes(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                            LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetNestedTypes(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetNestedType(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                           Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetNestedType(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetMember(BSTR name/*[in]*/, Mscorlib_tlb::MemberTypes Type/*[in]*/, 
                                       Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                       LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMember(BSTR name/*[in]*/, Mscorlib_tlb::MemberTypes Type/*[in]*/, 
                                       Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetDefaultMembers(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetDefaultMembers(void);
  HRESULT         __fastcall FindMembers(Mscorlib_tlb::MemberTypes MemberType/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_MemberFilterPtr filter/*[in]*/, 
                                         TVariantInParam filterCriteria/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall FindMembers(Mscorlib_tlb::MemberTypes MemberType/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_MemberFilterPtr filter/*[in]*/, 
                                         TVariantInParam filterCriteria/*[in]*/);
  HRESULT         __fastcall GetElementType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetElementType(void);
  HRESULT         __fastcall IsSubclassOf(Mscorlib_tlb::_TypePtr c/*[in]*/, 
                                          TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsSubclassOf(Mscorlib_tlb::_TypePtr c/*[in]*/);
  HRESULT         __fastcall IsInstanceOfType(TVariantInParam o/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsInstanceOfType(TVariantInParam o/*[in]*/);
  HRESULT         __fastcall IsAssignableFrom(Mscorlib_tlb::_TypePtr c/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsAssignableFrom(Mscorlib_tlb::_TypePtr c/*[in]*/);
  HRESULT         __fastcall GetInterfaceMap(Mscorlib_tlb::_TypePtr interfaceType/*[in]*/, 
                                             Mscorlib_tlb::InterfaceMapping* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::InterfaceMapping __fastcall GetInterfaceMap(Mscorlib_tlb::_TypePtr interfaceType/*[in]*/);
  HRESULT         __fastcall GetMethod(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                       Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                       LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                       Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod(BSTR name/*[in]*/, 
                                                    Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                    Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                    LPSAFEARRAY types/*[in]*/, 
                                                    LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetMethod_2(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod_2(BSTR name/*[in]*/, 
                                                      Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetField(BSTR name/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                      Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FieldInfoPtr __fastcall GetField(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                       LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetProperty(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty(BSTR name/*[in]*/, 
                                                        Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetProperty_2(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                           Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                           LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                           Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_2(BSTR name/*[in]*/, 
                                                          Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                          Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                          Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                          LPSAFEARRAY types/*[in]*/, 
                                                          LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetMember_2(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMember_2(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall InvokeMember(BSTR name/*[in]*/, 
                                          Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                          Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                          TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          LPSAFEARRAY namedParameters/*[in]*/, 
                                          TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall InvokeMember(BSTR name/*[in]*/, 
                                          Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                          Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                          TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          LPSAFEARRAY namedParameters/*[in]*/);
  HRESULT         __fastcall get_UnderlyingSystemType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_UnderlyingSystemType(void);
  HRESULT         __fastcall InvokeMember_2(BSTR name/*[in]*/, 
                                            Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                            TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                            TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall InvokeMember_2(BSTR name/*[in]*/, 
                                            Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                            TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall InvokeMember_3(BSTR name/*[in]*/, 
                                            Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                            TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                            TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall InvokeMember_3(BSTR name/*[in]*/, 
                                            Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                            TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/);
  HRESULT         __fastcall GetConstructor(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                            Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                                            LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                            Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ConstructorInfoPtr __fastcall GetConstructor(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                              Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                                                              LPSAFEARRAY types/*[in]*/, 
                                                              LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetConstructor_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY types/*[in]*/, 
                                              LPSAFEARRAY modifiers/*[in]*/, 
                                              Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ConstructorInfoPtr __fastcall GetConstructor_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                                Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                                LPSAFEARRAY types/*[in]*/, 
                                                                LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetConstructor_3(LPSAFEARRAY types/*[in]*/, 
                                              Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ConstructorInfoPtr __fastcall GetConstructor_3(LPSAFEARRAY types/*[in]*/);
  HRESULT         __fastcall GetConstructors_2(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetConstructors_2(void);
  HRESULT         __fastcall get_TypeInitializer(Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ConstructorInfoPtr __fastcall get_TypeInitializer(void);
  HRESULT         __fastcall GetMethod_3(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                         Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                                         LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                         Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod_3(BSTR name/*[in]*/, 
                                                      Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                      Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                                                      LPSAFEARRAY types/*[in]*/, 
                                                      LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetMethod_4(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                         LPSAFEARRAY modifiers/*[in]*/, 
                                         Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod_4(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                                      LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetMethod_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                         Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/);
  HRESULT         __fastcall GetMethod_6(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod_6(BSTR name/*[in]*/);
  HRESULT         __fastcall GetMethods_2(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMethods_2(void);
  HRESULT         __fastcall GetField_2(BSTR name/*[in]*/, 
                                        Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FieldInfoPtr __fastcall GetField_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetFields_2(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetFields_2(void);
  HRESULT         __fastcall GetInterface_2(BSTR name/*[in]*/, 
                                            Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetInterface_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetEvent_2(BSTR name/*[in]*/, 
                                        Mscorlib_tlb::_EventInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_EventInfoPtr __fastcall GetEvent_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetProperty_3(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                           LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                           Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_3(BSTR name/*[in]*/, 
                                                          Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                          LPSAFEARRAY types/*[in]*/, 
                                                          LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetProperty_4(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                           LPSAFEARRAY types/*[in]*/, 
                                           Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_4(BSTR name/*[in]*/, 
                                                          Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                          LPSAFEARRAY types/*[in]*/);
  HRESULT         __fastcall GetProperty_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                           Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_5(BSTR name/*[in]*/, 
                                                          LPSAFEARRAY types/*[in]*/);
  HRESULT         __fastcall GetProperty_6(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                           Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_6(BSTR name/*[in]*/, 
                                                          Mscorlib_tlb::_TypePtr returnType/*[in]*/);
  HRESULT         __fastcall GetProperty_7(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_7(BSTR name/*[in]*/);
  HRESULT         __fastcall GetProperties_2(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetProperties_2(void);
  HRESULT         __fastcall GetNestedTypes_2(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetNestedTypes_2(void);
  HRESULT         __fastcall GetNestedType_2(BSTR name/*[in]*/, 
                                             Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetNestedType_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetMember_3(BSTR name/*[in]*/, LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMember_3(BSTR name/*[in]*/);
  HRESULT         __fastcall GetMembers_2(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMembers_2(void);
  HRESULT         __fastcall get_Attributes(Mscorlib_tlb::TypeAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::TypeAttributes __fastcall get_Attributes(void);
  HRESULT         __fastcall get_IsNotPublic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNotPublic(void);
  HRESULT         __fastcall get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPublic(void);
  HRESULT         __fastcall get_IsNestedPublic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNestedPublic(void);
  HRESULT         __fastcall get_IsNestedPrivate(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNestedPrivate(void);
  HRESULT         __fastcall get_IsNestedFamily(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNestedFamily(void);
  HRESULT         __fastcall get_IsNestedAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNestedAssembly(void);
  HRESULT         __fastcall get_IsNestedFamANDAssem(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNestedFamANDAssem(void);
  HRESULT         __fastcall get_IsNestedFamORAssem(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNestedFamORAssem(void);
  HRESULT         __fastcall get_IsAutoLayout(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAutoLayout(void);
  HRESULT         __fastcall get_IsLayoutSequential(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsLayoutSequential(void);
  HRESULT         __fastcall get_IsExplicitLayout(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsExplicitLayout(void);
  HRESULT         __fastcall get_IsClass(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsClass(void);
  HRESULT         __fastcall get_IsInterface(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsInterface(void);
  HRESULT         __fastcall get_IsValueType(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsValueType(void);
  HRESULT         __fastcall get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAbstract(void);
  HRESULT         __fastcall get_IsSealed(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSealed(void);
  HRESULT         __fastcall get_IsEnum(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsEnum(void);
  HRESULT         __fastcall get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSpecialName(void);
  HRESULT         __fastcall get_IsImport(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsImport(void);
  HRESULT         __fastcall get_IsSerializable(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSerializable(void);
  HRESULT         __fastcall get_IsAnsiClass(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAnsiClass(void);
  HRESULT         __fastcall get_IsUnicodeClass(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsUnicodeClass(void);
  HRESULT         __fastcall get_IsAutoClass(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAutoClass(void);
  HRESULT         __fastcall get_IsArray(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsArray(void);
  HRESULT         __fastcall get_IsByRef(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsByRef(void);
  HRESULT         __fastcall get_IsPointer(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPointer(void);
  HRESULT         __fastcall get_IsPrimitive(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPrimitive(void);
  HRESULT         __fastcall get_IsCOMObject(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsCOMObject(void);
  HRESULT         __fastcall get_HasElementType(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_HasElementType(void);
  HRESULT         __fastcall get_IsContextful(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsContextful(void);
  HRESULT         __fastcall get_IsMarshalByRef(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsMarshalByRef(void);
  HRESULT         __fastcall Equals_2(Mscorlib_tlb::_TypePtr o/*[in]*/, 
                                      TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals_2(Mscorlib_tlb::_TypePtr o/*[in]*/);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
  __property   TGUID           Guid = {read = get_Guid};
  __property   Mscorlib_tlb::_ModulePtr Module = {read = get_Module};
  __property   Mscorlib_tlb::_AssemblyPtr Assembly = {read = get_Assembly};
  __property   Mscorlib_tlb::RuntimeTypeHandle TypeHandle = {read = get_TypeHandle};
  __property   BSTR            FullName = {read = get_FullName};
  __property   BSTR            Namespace = {read = get_Namespace};
  __property   BSTR            AssemblyQualifiedName = {read = get_AssemblyQualifiedName};
  __property   Mscorlib_tlb::_TypePtr BaseType = {read = get_BaseType};
  __property   Mscorlib_tlb::_TypePtr UnderlyingSystemType = {read = get_UnderlyingSystemType};
  __property   Mscorlib_tlb::_ConstructorInfoPtr TypeInitializer = {read = get_TypeInitializer};
  __property   Mscorlib_tlb::TypeAttributes Attributes = {read = get_Attributes};
  __property   TOLEBOOL        IsNotPublic = {read = get_IsNotPublic};
  __property   TOLEBOOL        IsPublic = {read = get_IsPublic};
  __property   TOLEBOOL        IsNestedPublic = {read = get_IsNestedPublic};
  __property   TOLEBOOL        IsNestedPrivate = {read = get_IsNestedPrivate};
  __property   TOLEBOOL        IsNestedFamily = {read = get_IsNestedFamily};
  __property   TOLEBOOL        IsNestedAssembly = {read = get_IsNestedAssembly};
  __property   TOLEBOOL        IsNestedFamANDAssem = {read = get_IsNestedFamANDAssem};
  __property   TOLEBOOL        IsNestedFamORAssem = {read = get_IsNestedFamORAssem};
  __property   TOLEBOOL        IsAutoLayout = {read = get_IsAutoLayout};
  __property   TOLEBOOL        IsLayoutSequential = {read = get_IsLayoutSequential};
  __property   TOLEBOOL        IsExplicitLayout = {read = get_IsExplicitLayout};
  __property   TOLEBOOL        IsClass = {read = get_IsClass};
  __property   TOLEBOOL        IsInterface = {read = get_IsInterface};
  __property   TOLEBOOL        IsValueType = {read = get_IsValueType};
  __property   TOLEBOOL        IsAbstract = {read = get_IsAbstract};
  __property   TOLEBOOL        IsSealed = {read = get_IsSealed};
  __property   TOLEBOOL        IsEnum = {read = get_IsEnum};
  __property   TOLEBOOL        IsSpecialName = {read = get_IsSpecialName};
  __property   TOLEBOOL        IsImport = {read = get_IsImport};
  __property   TOLEBOOL        IsSerializable = {read = get_IsSerializable};
  __property   TOLEBOOL        IsAnsiClass = {read = get_IsAnsiClass};
  __property   TOLEBOOL        IsUnicodeClass = {read = get_IsUnicodeClass};
  __property   TOLEBOOL        IsAutoClass = {read = get_IsAutoClass};
  __property   TOLEBOOL        IsArray = {read = get_IsArray};
  __property   TOLEBOOL        IsByRef = {read = get_IsByRef};
  __property   TOLEBOOL        IsPointer = {read = get_IsPointer};
  __property   TOLEBOOL        IsPrimitive = {read = get_IsPrimitive};
  __property   TOLEBOOL        IsCOMObject = {read = get_IsCOMObject};
  __property   TOLEBOOL        HasElementType = {read = get_HasElementType};
  __property   TOLEBOOL        IsContextful = {read = get_IsContextful};
  __property   TOLEBOOL        IsMarshalByRef = {read = get_IsMarshalByRef};
};
typedef TCOM_TypeT<_Type> TCOM_Type;

typedef TComInterface<IReflect>  TCOMIReflect;

// *********************************************************************//
// DispIntf:  IReflect
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AFBF15E5-C37C-11D2-B88E-00A0C9B471B8}
// *********************************************************************//
template<class T>
class IReflectDispT : public TAutoDriver<IReflect>
{
public:
  IReflectDispT(){}

  IReflectDispT(IReflect *pintf)
  {
    TAutoDriver<IReflect>::Bind(pintf, false);
  }

  IReflectDispT(IReflectPtr pintf)
  {
    TAutoDriver<IReflect>::Bind(pintf, true);
  }

  IReflectDispT& operator=(IReflect *pintf)
  {
    TAutoDriver<IReflect>::Bind(pintf, false);
    return *this;
  }

  IReflectDispT& operator=(IReflectPtr pintf)
  {
    TAutoDriver<IReflect>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetMethod(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                       Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                       LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                       Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod(BSTR name/*[in]*/, 
                                                    Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                    Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                    LPSAFEARRAY types/*[in]*/, 
                                                    LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetMethod_2(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetMethod_2(BSTR name/*[in]*/, 
                                                      Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetField(BSTR name/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                      Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FieldInfoPtr __fastcall GetField(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                       LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetProperty(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty(BSTR name/*[in]*/, 
                                                        Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetProperty_2(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                           Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                           Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                           LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/
                                           , Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall GetProperty_2(BSTR name/*[in]*/, 
                                                          Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                                          Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                                          Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                                          LPSAFEARRAY types/*[in]*/, 
                                                          LPSAFEARRAY modifiers/*[in]*/);
  HRESULT         __fastcall GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetMember(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                       LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMember(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/);
  HRESULT         __fastcall InvokeMember(BSTR name/*[in]*/, 
                                          Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                          Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                          TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          LPSAFEARRAY namedParameters/*[in]*/, 
                                          TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall InvokeMember(BSTR name/*[in]*/, 
                                          Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                          Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                          TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                                          LPSAFEARRAY modifiers/*[in]*/, 
                                          Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          LPSAFEARRAY namedParameters/*[in]*/);
  HRESULT         __fastcall get_UnderlyingSystemType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_UnderlyingSystemType(void);

  __property   Mscorlib_tlb::_TypePtr UnderlyingSystemType = {read = get_UnderlyingSystemType};
};
typedef IReflectDispT<IReflect> IReflectDisp;

// *********************************************************************//
// SmartIntf: TCOM_SerializableAttribute
// Interface: _SerializableAttribute
// *********************************************************************//
template <class T /* _SerializableAttribute */ >
class TCOM_SerializableAttributeT : public TComInterface<_SerializableAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SerializableAttributeT() {}
  TCOM_SerializableAttributeT(_SerializableAttribute *intf, bool addRef = false) : TComInterface<_SerializableAttribute>(intf, addRef) {}
  TCOM_SerializableAttributeT(const TCOM_SerializableAttributeT& src) : TComInterface<_SerializableAttribute>(src) {}
  TCOM_SerializableAttributeT& operator=(const TCOM_SerializableAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SerializableAttributeT<_SerializableAttribute> TCOM_SerializableAttribute;

// *********************************************************************//
// DispIntf:  _SerializableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1B96E53C-4028-38BC-9DC3-8D7A9555C311}
// *********************************************************************//
template<class T>
class _SerializableAttributeDispT : public TAutoDriver<_SerializableAttribute>
{
public:
  _SerializableAttributeDispT(){}

  _SerializableAttributeDispT(_SerializableAttribute *pintf)
  {
    TAutoDriver<_SerializableAttribute>::Bind(pintf, false);
  }

  _SerializableAttributeDispT(_SerializableAttributePtr pintf)
  {
    TAutoDriver<_SerializableAttribute>::Bind(pintf, true);
  }

  _SerializableAttributeDispT& operator=(_SerializableAttribute *pintf)
  {
    TAutoDriver<_SerializableAttribute>::Bind(pintf, false);
    return *this;
  }

  _SerializableAttributeDispT& operator=(_SerializableAttributePtr pintf)
  {
    TAutoDriver<_SerializableAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SerializableAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SerializableAttribute);
  }


};
typedef _SerializableAttributeDispT<_SerializableAttribute> _SerializableAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TimeoutException
// Interface: _TimeoutException
// *********************************************************************//
template <class T /* _TimeoutException */ >
class TCOM_TimeoutExceptionT : public TComInterface<_TimeoutException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TimeoutExceptionT() {}
  TCOM_TimeoutExceptionT(_TimeoutException *intf, bool addRef = false) : TComInterface<_TimeoutException>(intf, addRef) {}
  TCOM_TimeoutExceptionT(const TCOM_TimeoutExceptionT& src) : TComInterface<_TimeoutException>(src) {}
  TCOM_TimeoutExceptionT& operator=(const TCOM_TimeoutExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TimeoutExceptionT<_TimeoutException> TCOM_TimeoutException;

// *********************************************************************//
// DispIntf:  _TimeoutException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7AB88CA9-17F4-385E-AD41-4EE0AA316FA1}
// *********************************************************************//
template<class T>
class _TimeoutExceptionDispT : public TAutoDriver<_TimeoutException>
{
public:
  _TimeoutExceptionDispT(){}

  _TimeoutExceptionDispT(_TimeoutException *pintf)
  {
    TAutoDriver<_TimeoutException>::Bind(pintf, false);
  }

  _TimeoutExceptionDispT(_TimeoutExceptionPtr pintf)
  {
    TAutoDriver<_TimeoutException>::Bind(pintf, true);
  }

  _TimeoutExceptionDispT& operator=(_TimeoutException *pintf)
  {
    TAutoDriver<_TimeoutException>::Bind(pintf, false);
    return *this;
  }

  _TimeoutExceptionDispT& operator=(_TimeoutExceptionPtr pintf)
  {
    TAutoDriver<_TimeoutException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TimeoutException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TimeoutException);
  }


};
typedef _TimeoutExceptionDispT<_TimeoutException> _TimeoutExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeInitializationException
// Interface: _TypeInitializationException
// *********************************************************************//
template <class T /* _TypeInitializationException */ >
class TCOM_TypeInitializationExceptionT : public TComInterface<_TypeInitializationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeInitializationExceptionT() {}
  TCOM_TypeInitializationExceptionT(_TypeInitializationException *intf, bool addRef = false) : TComInterface<_TypeInitializationException>(intf, addRef) {}
  TCOM_TypeInitializationExceptionT(const TCOM_TypeInitializationExceptionT& src) : TComInterface<_TypeInitializationException>(src) {}
  TCOM_TypeInitializationExceptionT& operator=(const TCOM_TypeInitializationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeInitializationExceptionT<_TypeInitializationException> TCOM_TypeInitializationException;

// *********************************************************************//
// DispIntf:  _TypeInitializationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FEB0323D-8CE4-36A4-A41E-0BA0C32E1A6A}
// *********************************************************************//
template<class T>
class _TypeInitializationExceptionDispT : public TAutoDriver<_TypeInitializationException>
{
public:
  _TypeInitializationExceptionDispT(){}

  _TypeInitializationExceptionDispT(_TypeInitializationException *pintf)
  {
    TAutoDriver<_TypeInitializationException>::Bind(pintf, false);
  }

  _TypeInitializationExceptionDispT(_TypeInitializationExceptionPtr pintf)
  {
    TAutoDriver<_TypeInitializationException>::Bind(pintf, true);
  }

  _TypeInitializationExceptionDispT& operator=(_TypeInitializationException *pintf)
  {
    TAutoDriver<_TypeInitializationException>::Bind(pintf, false);
    return *this;
  }

  _TypeInitializationExceptionDispT& operator=(_TypeInitializationExceptionPtr pintf)
  {
    TAutoDriver<_TypeInitializationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeInitializationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeInitializationException);
  }


};
typedef _TypeInitializationExceptionDispT<_TypeInitializationException> _TypeInitializationExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnauthorizedAccessException
// Interface: _UnauthorizedAccessException
// *********************************************************************//
template <class T /* _UnauthorizedAccessException */ >
class TCOM_UnauthorizedAccessExceptionT : public TComInterface<_UnauthorizedAccessException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnauthorizedAccessExceptionT() {}
  TCOM_UnauthorizedAccessExceptionT(_UnauthorizedAccessException *intf, bool addRef = false) : TComInterface<_UnauthorizedAccessException>(intf, addRef) {}
  TCOM_UnauthorizedAccessExceptionT(const TCOM_UnauthorizedAccessExceptionT& src) : TComInterface<_UnauthorizedAccessException>(src) {}
  TCOM_UnauthorizedAccessExceptionT& operator=(const TCOM_UnauthorizedAccessExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnauthorizedAccessExceptionT<_UnauthorizedAccessException> TCOM_UnauthorizedAccessException;

// *********************************************************************//
// DispIntf:  _UnauthorizedAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6193C5F6-6807-3561-A7F3-B64C80B5F00F}
// *********************************************************************//
template<class T>
class _UnauthorizedAccessExceptionDispT : public TAutoDriver<_UnauthorizedAccessException>
{
public:
  _UnauthorizedAccessExceptionDispT(){}

  _UnauthorizedAccessExceptionDispT(_UnauthorizedAccessException *pintf)
  {
    TAutoDriver<_UnauthorizedAccessException>::Bind(pintf, false);
  }

  _UnauthorizedAccessExceptionDispT(_UnauthorizedAccessExceptionPtr pintf)
  {
    TAutoDriver<_UnauthorizedAccessException>::Bind(pintf, true);
  }

  _UnauthorizedAccessExceptionDispT& operator=(_UnauthorizedAccessException *pintf)
  {
    TAutoDriver<_UnauthorizedAccessException>::Bind(pintf, false);
    return *this;
  }

  _UnauthorizedAccessExceptionDispT& operator=(_UnauthorizedAccessExceptionPtr pintf)
  {
    TAutoDriver<_UnauthorizedAccessException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnauthorizedAccessException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnauthorizedAccessException);
  }


};
typedef _UnauthorizedAccessExceptionDispT<_UnauthorizedAccessException> _UnauthorizedAccessExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnhandledExceptionEventArgs
// Interface: _UnhandledExceptionEventArgs
// *********************************************************************//
template <class T /* _UnhandledExceptionEventArgs */ >
class TCOM_UnhandledExceptionEventArgsT : public TComInterface<_UnhandledExceptionEventArgs>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnhandledExceptionEventArgsT() {}
  TCOM_UnhandledExceptionEventArgsT(_UnhandledExceptionEventArgs *intf, bool addRef = false) : TComInterface<_UnhandledExceptionEventArgs>(intf, addRef) {}
  TCOM_UnhandledExceptionEventArgsT(const TCOM_UnhandledExceptionEventArgsT& src) : TComInterface<_UnhandledExceptionEventArgs>(src) {}
  TCOM_UnhandledExceptionEventArgsT& operator=(const TCOM_UnhandledExceptionEventArgsT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnhandledExceptionEventArgsT<_UnhandledExceptionEventArgs> TCOM_UnhandledExceptionEventArgs;

// *********************************************************************//
// DispIntf:  _UnhandledExceptionEventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A218E20A-0905-3741-B0B3-9E3193162E50}
// *********************************************************************//
template<class T>
class _UnhandledExceptionEventArgsDispT : public TAutoDriver<_UnhandledExceptionEventArgs>
{
public:
  _UnhandledExceptionEventArgsDispT(){}

  _UnhandledExceptionEventArgsDispT(_UnhandledExceptionEventArgs *pintf)
  {
    TAutoDriver<_UnhandledExceptionEventArgs>::Bind(pintf, false);
  }

  _UnhandledExceptionEventArgsDispT(_UnhandledExceptionEventArgsPtr pintf)
  {
    TAutoDriver<_UnhandledExceptionEventArgs>::Bind(pintf, true);
  }

  _UnhandledExceptionEventArgsDispT& operator=(_UnhandledExceptionEventArgs *pintf)
  {
    TAutoDriver<_UnhandledExceptionEventArgs>::Bind(pintf, false);
    return *this;
  }

  _UnhandledExceptionEventArgsDispT& operator=(_UnhandledExceptionEventArgsPtr pintf)
  {
    TAutoDriver<_UnhandledExceptionEventArgs>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnhandledExceptionEventArgs));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnhandledExceptionEventArgs);
  }


};
typedef _UnhandledExceptionEventArgsDispT<_UnhandledExceptionEventArgs> _UnhandledExceptionEventArgsDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnhandledExceptionEventHandler
// Interface: _UnhandledExceptionEventHandler
// *********************************************************************//
template <class T /* _UnhandledExceptionEventHandler */ >
class TCOM_UnhandledExceptionEventHandlerT : public TComInterface<_UnhandledExceptionEventHandler>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnhandledExceptionEventHandlerT() {}
  TCOM_UnhandledExceptionEventHandlerT(_UnhandledExceptionEventHandler *intf, bool addRef = false) : TComInterface<_UnhandledExceptionEventHandler>(intf, addRef) {}
  TCOM_UnhandledExceptionEventHandlerT(const TCOM_UnhandledExceptionEventHandlerT& src) : TComInterface<_UnhandledExceptionEventHandler>(src) {}
  TCOM_UnhandledExceptionEventHandlerT& operator=(const TCOM_UnhandledExceptionEventHandlerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnhandledExceptionEventHandlerT<_UnhandledExceptionEventHandler> TCOM_UnhandledExceptionEventHandler;

// *********************************************************************//
// DispIntf:  _UnhandledExceptionEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {84199E64-439C-3011-B249-3C9065735ADB}
// *********************************************************************//
template<class T>
class _UnhandledExceptionEventHandlerDispT : public TAutoDriver<_UnhandledExceptionEventHandler>
{
public:
  _UnhandledExceptionEventHandlerDispT(){}

  _UnhandledExceptionEventHandlerDispT(_UnhandledExceptionEventHandler *pintf)
  {
    TAutoDriver<_UnhandledExceptionEventHandler>::Bind(pintf, false);
  }

  _UnhandledExceptionEventHandlerDispT(_UnhandledExceptionEventHandlerPtr pintf)
  {
    TAutoDriver<_UnhandledExceptionEventHandler>::Bind(pintf, true);
  }

  _UnhandledExceptionEventHandlerDispT& operator=(_UnhandledExceptionEventHandler *pintf)
  {
    TAutoDriver<_UnhandledExceptionEventHandler>::Bind(pintf, false);
    return *this;
  }

  _UnhandledExceptionEventHandlerDispT& operator=(_UnhandledExceptionEventHandlerPtr pintf)
  {
    TAutoDriver<_UnhandledExceptionEventHandler>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnhandledExceptionEventHandler));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnhandledExceptionEventHandler);
  }


};
typedef _UnhandledExceptionEventHandlerDispT<_UnhandledExceptionEventHandler> _UnhandledExceptionEventHandlerDisp;

// *********************************************************************//
// SmartIntf: TCOM_Version
// Interface: _Version
// *********************************************************************//
template <class T /* _Version */ >
class TCOM_VersionT : public TComInterface<_Version>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_VersionT() {}
  TCOM_VersionT(_Version *intf, bool addRef = false) : TComInterface<_Version>(intf, addRef) {}
  TCOM_VersionT(const TCOM_VersionT& src) : TComInterface<_Version>(src) {}
  TCOM_VersionT& operator=(const TCOM_VersionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_VersionT<_Version> TCOM_Version;

// *********************************************************************//
// DispIntf:  _Version
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {011A90C5-4910-3C29-BBB7-50D05CCBAA4A}
// *********************************************************************//
template<class T>
class _VersionDispT : public TAutoDriver<_Version>
{
public:
  _VersionDispT(){}

  _VersionDispT(_Version *pintf)
  {
    TAutoDriver<_Version>::Bind(pintf, false);
  }

  _VersionDispT(_VersionPtr pintf)
  {
    TAutoDriver<_Version>::Bind(pintf, true);
  }

  _VersionDispT& operator=(_Version *pintf)
  {
    TAutoDriver<_Version>::Bind(pintf, false);
    return *this;
  }

  _VersionDispT& operator=(_VersionPtr pintf)
  {
    TAutoDriver<_Version>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Version));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Version);
  }


};
typedef _VersionDispT<_Version> _VersionDisp;

// *********************************************************************//
// SmartIntf: TCOM_WeakReference
// Interface: _WeakReference
// *********************************************************************//
template <class T /* _WeakReference */ >
class TCOM_WeakReferenceT : public TComInterface<_WeakReference>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WeakReferenceT() {}
  TCOM_WeakReferenceT(_WeakReference *intf, bool addRef = false) : TComInterface<_WeakReference>(intf, addRef) {}
  TCOM_WeakReferenceT(const TCOM_WeakReferenceT& src) : TComInterface<_WeakReference>(src) {}
  TCOM_WeakReferenceT& operator=(const TCOM_WeakReferenceT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WeakReferenceT<_WeakReference> TCOM_WeakReference;

// *********************************************************************//
// DispIntf:  _WeakReference
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C5DF3568-C251-3C58-AFB4-32E79E8261F0}
// *********************************************************************//
template<class T>
class _WeakReferenceDispT : public TAutoDriver<_WeakReference>
{
public:
  _WeakReferenceDispT(){}

  _WeakReferenceDispT(_WeakReference *pintf)
  {
    TAutoDriver<_WeakReference>::Bind(pintf, false);
  }

  _WeakReferenceDispT(_WeakReferencePtr pintf)
  {
    TAutoDriver<_WeakReference>::Bind(pintf, true);
  }

  _WeakReferenceDispT& operator=(_WeakReference *pintf)
  {
    TAutoDriver<_WeakReference>::Bind(pintf, false);
    return *this;
  }

  _WeakReferenceDispT& operator=(_WeakReferencePtr pintf)
  {
    TAutoDriver<_WeakReference>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WeakReference));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WeakReference);
  }


};
typedef _WeakReferenceDispT<_WeakReference> _WeakReferenceDisp;

// *********************************************************************//
// SmartIntf: TCOM_WaitHandle
// Interface: _WaitHandle
// *********************************************************************//
template <class T /* _WaitHandle */ >
class TCOM_WaitHandleT : public TComInterface<_WaitHandle>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WaitHandleT() {}
  TCOM_WaitHandleT(_WaitHandle *intf, bool addRef = false) : TComInterface<_WaitHandle>(intf, addRef) {}
  TCOM_WaitHandleT(const TCOM_WaitHandleT& src) : TComInterface<_WaitHandle>(src) {}
  TCOM_WaitHandleT& operator=(const TCOM_WaitHandleT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WaitHandleT<_WaitHandle> TCOM_WaitHandle;

// *********************************************************************//
// DispIntf:  _WaitHandle
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {40DFC50A-E93A-3C08-B9EF-E2B4F28B5676}
// *********************************************************************//
template<class T>
class _WaitHandleDispT : public TAutoDriver<_WaitHandle>
{
public:
  _WaitHandleDispT(){}

  _WaitHandleDispT(_WaitHandle *pintf)
  {
    TAutoDriver<_WaitHandle>::Bind(pintf, false);
  }

  _WaitHandleDispT(_WaitHandlePtr pintf)
  {
    TAutoDriver<_WaitHandle>::Bind(pintf, true);
  }

  _WaitHandleDispT& operator=(_WaitHandle *pintf)
  {
    TAutoDriver<_WaitHandle>::Bind(pintf, false);
    return *this;
  }

  _WaitHandleDispT& operator=(_WaitHandlePtr pintf)
  {
    TAutoDriver<_WaitHandle>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WaitHandle));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WaitHandle);
  }


};
typedef _WaitHandleDispT<_WaitHandle> _WaitHandleDisp;

// *********************************************************************//
// SmartIntf: TCOM_EventWaitHandle
// Interface: _EventWaitHandle
// *********************************************************************//
template <class T /* _EventWaitHandle */ >
class TCOM_EventWaitHandleT : public TComInterface<_EventWaitHandle>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EventWaitHandleT() {}
  TCOM_EventWaitHandleT(_EventWaitHandle *intf, bool addRef = false) : TComInterface<_EventWaitHandle>(intf, addRef) {}
  TCOM_EventWaitHandleT(const TCOM_EventWaitHandleT& src) : TComInterface<_EventWaitHandle>(src) {}
  TCOM_EventWaitHandleT& operator=(const TCOM_EventWaitHandleT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EventWaitHandleT<_EventWaitHandle> TCOM_EventWaitHandle;

// *********************************************************************//
// DispIntf:  _EventWaitHandle
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E142DB4A-1A52-34CE-965E-13AFFD5447D0}
// *********************************************************************//
template<class T>
class _EventWaitHandleDispT : public TAutoDriver<_EventWaitHandle>
{
public:
  _EventWaitHandleDispT(){}

  _EventWaitHandleDispT(_EventWaitHandle *pintf)
  {
    TAutoDriver<_EventWaitHandle>::Bind(pintf, false);
  }

  _EventWaitHandleDispT(_EventWaitHandlePtr pintf)
  {
    TAutoDriver<_EventWaitHandle>::Bind(pintf, true);
  }

  _EventWaitHandleDispT& operator=(_EventWaitHandle *pintf)
  {
    TAutoDriver<_EventWaitHandle>::Bind(pintf, false);
    return *this;
  }

  _EventWaitHandleDispT& operator=(_EventWaitHandlePtr pintf)
  {
    TAutoDriver<_EventWaitHandle>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EventWaitHandle));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EventWaitHandle);
  }


};
typedef _EventWaitHandleDispT<_EventWaitHandle> _EventWaitHandleDisp;

// *********************************************************************//
// SmartIntf: TCOM_AutoResetEvent
// Interface: _AutoResetEvent
// *********************************************************************//
template <class T /* _AutoResetEvent */ >
class TCOM_AutoResetEventT : public TComInterface<_AutoResetEvent>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AutoResetEventT() {}
  TCOM_AutoResetEventT(_AutoResetEvent *intf, bool addRef = false) : TComInterface<_AutoResetEvent>(intf, addRef) {}
  TCOM_AutoResetEventT(const TCOM_AutoResetEventT& src) : TComInterface<_AutoResetEvent>(src) {}
  TCOM_AutoResetEventT& operator=(const TCOM_AutoResetEventT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AutoResetEventT<_AutoResetEvent> TCOM_AutoResetEvent;

// *********************************************************************//
// DispIntf:  _AutoResetEvent
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3F243EBD-612F-3DB8-9E03-BD92343A8371}
// *********************************************************************//
template<class T>
class _AutoResetEventDispT : public TAutoDriver<_AutoResetEvent>
{
public:
  _AutoResetEventDispT(){}

  _AutoResetEventDispT(_AutoResetEvent *pintf)
  {
    TAutoDriver<_AutoResetEvent>::Bind(pintf, false);
  }

  _AutoResetEventDispT(_AutoResetEventPtr pintf)
  {
    TAutoDriver<_AutoResetEvent>::Bind(pintf, true);
  }

  _AutoResetEventDispT& operator=(_AutoResetEvent *pintf)
  {
    TAutoDriver<_AutoResetEvent>::Bind(pintf, false);
    return *this;
  }

  _AutoResetEventDispT& operator=(_AutoResetEventPtr pintf)
  {
    TAutoDriver<_AutoResetEvent>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AutoResetEvent));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AutoResetEvent);
  }


};
typedef _AutoResetEventDispT<_AutoResetEvent> _AutoResetEventDisp;

// *********************************************************************//
// SmartIntf: TCOM_ContextCallback
// Interface: _ContextCallback
// *********************************************************************//
template <class T /* _ContextCallback */ >
class TCOM_ContextCallbackT : public TComInterface<_ContextCallback>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ContextCallbackT() {}
  TCOM_ContextCallbackT(_ContextCallback *intf, bool addRef = false) : TComInterface<_ContextCallback>(intf, addRef) {}
  TCOM_ContextCallbackT(const TCOM_ContextCallbackT& src) : TComInterface<_ContextCallback>(src) {}
  TCOM_ContextCallbackT& operator=(const TCOM_ContextCallbackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ContextCallbackT<_ContextCallback> TCOM_ContextCallback;

// *********************************************************************//
// DispIntf:  _ContextCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {56D201F1-3E5D-39D9-B5DE-064710818905}
// *********************************************************************//
template<class T>
class _ContextCallbackDispT : public TAutoDriver<_ContextCallback>
{
public:
  _ContextCallbackDispT(){}

  _ContextCallbackDispT(_ContextCallback *pintf)
  {
    TAutoDriver<_ContextCallback>::Bind(pintf, false);
  }

  _ContextCallbackDispT(_ContextCallbackPtr pintf)
  {
    TAutoDriver<_ContextCallback>::Bind(pintf, true);
  }

  _ContextCallbackDispT& operator=(_ContextCallback *pintf)
  {
    TAutoDriver<_ContextCallback>::Bind(pintf, false);
    return *this;
  }

  _ContextCallbackDispT& operator=(_ContextCallbackPtr pintf)
  {
    TAutoDriver<_ContextCallback>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ContextCallback));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ContextCallback);
  }


};
typedef _ContextCallbackDispT<_ContextCallback> _ContextCallbackDisp;

typedef TComInterface<IObjectHandle>  TCOMIObjectHandle;

// *********************************************************************//
// SmartIntf: TCOM_ManualResetEvent
// Interface: _ManualResetEvent
// *********************************************************************//
template <class T /* _ManualResetEvent */ >
class TCOM_ManualResetEventT : public TComInterface<_ManualResetEvent>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ManualResetEventT() {}
  TCOM_ManualResetEventT(_ManualResetEvent *intf, bool addRef = false) : TComInterface<_ManualResetEvent>(intf, addRef) {}
  TCOM_ManualResetEventT(const TCOM_ManualResetEventT& src) : TComInterface<_ManualResetEvent>(src) {}
  TCOM_ManualResetEventT& operator=(const TCOM_ManualResetEventT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ManualResetEventT<_ManualResetEvent> TCOM_ManualResetEvent;

// *********************************************************************//
// DispIntf:  _ManualResetEvent
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C0BB9361-268F-3E72-BF6F-4120175A1500}
// *********************************************************************//
template<class T>
class _ManualResetEventDispT : public TAutoDriver<_ManualResetEvent>
{
public:
  _ManualResetEventDispT(){}

  _ManualResetEventDispT(_ManualResetEvent *pintf)
  {
    TAutoDriver<_ManualResetEvent>::Bind(pintf, false);
  }

  _ManualResetEventDispT(_ManualResetEventPtr pintf)
  {
    TAutoDriver<_ManualResetEvent>::Bind(pintf, true);
  }

  _ManualResetEventDispT& operator=(_ManualResetEvent *pintf)
  {
    TAutoDriver<_ManualResetEvent>::Bind(pintf, false);
    return *this;
  }

  _ManualResetEventDispT& operator=(_ManualResetEventPtr pintf)
  {
    TAutoDriver<_ManualResetEvent>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ManualResetEvent));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ManualResetEvent);
  }


};
typedef _ManualResetEventDispT<_ManualResetEvent> _ManualResetEventDisp;

// *********************************************************************//
// SmartIntf: TCOM_Monitor
// Interface: _Monitor
// *********************************************************************//
template <class T /* _Monitor */ >
class TCOM_MonitorT : public TComInterface<_Monitor>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MonitorT() {}
  TCOM_MonitorT(_Monitor *intf, bool addRef = false) : TComInterface<_Monitor>(intf, addRef) {}
  TCOM_MonitorT(const TCOM_MonitorT& src) : TComInterface<_Monitor>(src) {}
  TCOM_MonitorT& operator=(const TCOM_MonitorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MonitorT<_Monitor> TCOM_Monitor;

// *********************************************************************//
// DispIntf:  _Monitor
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EE22485E-4C45-3C9D-9027-A8D61C5F53F2}
// *********************************************************************//
template<class T>
class _MonitorDispT : public TAutoDriver<_Monitor>
{
public:
  _MonitorDispT(){}

  _MonitorDispT(_Monitor *pintf)
  {
    TAutoDriver<_Monitor>::Bind(pintf, false);
  }

  _MonitorDispT(_MonitorPtr pintf)
  {
    TAutoDriver<_Monitor>::Bind(pintf, true);
  }

  _MonitorDispT& operator=(_Monitor *pintf)
  {
    TAutoDriver<_Monitor>::Bind(pintf, false);
    return *this;
  }

  _MonitorDispT& operator=(_MonitorPtr pintf)
  {
    TAutoDriver<_Monitor>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Monitor));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Monitor);
  }


};
typedef _MonitorDispT<_Monitor> _MonitorDisp;

// *********************************************************************//
// SmartIntf: TCOM_Mutex
// Interface: _Mutex
// *********************************************************************//
template <class T /* _Mutex */ >
class TCOM_MutexT : public TComInterface<_Mutex>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MutexT() {}
  TCOM_MutexT(_Mutex *intf, bool addRef = false) : TComInterface<_Mutex>(intf, addRef) {}
  TCOM_MutexT(const TCOM_MutexT& src) : TComInterface<_Mutex>(src) {}
  TCOM_MutexT& operator=(const TCOM_MutexT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MutexT<_Mutex> TCOM_Mutex;

// *********************************************************************//
// DispIntf:  _Mutex
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {36CB559B-87C6-3AD2-9225-62A7ED499B37}
// *********************************************************************//
template<class T>
class _MutexDispT : public TAutoDriver<_Mutex>
{
public:
  _MutexDispT(){}

  _MutexDispT(_Mutex *pintf)
  {
    TAutoDriver<_Mutex>::Bind(pintf, false);
  }

  _MutexDispT(_MutexPtr pintf)
  {
    TAutoDriver<_Mutex>::Bind(pintf, true);
  }

  _MutexDispT& operator=(_Mutex *pintf)
  {
    TAutoDriver<_Mutex>::Bind(pintf, false);
    return *this;
  }

  _MutexDispT& operator=(_MutexPtr pintf)
  {
    TAutoDriver<_Mutex>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Mutex));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Mutex);
  }


};
typedef _MutexDispT<_Mutex> _MutexDisp;

// *********************************************************************//
// SmartIntf: TCOM_Overlapped
// Interface: _Overlapped
// *********************************************************************//
template <class T /* _Overlapped */ >
class TCOM_OverlappedT : public TComInterface<_Overlapped>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OverlappedT() {}
  TCOM_OverlappedT(_Overlapped *intf, bool addRef = false) : TComInterface<_Overlapped>(intf, addRef) {}
  TCOM_OverlappedT(const TCOM_OverlappedT& src) : TComInterface<_Overlapped>(src) {}
  TCOM_OverlappedT& operator=(const TCOM_OverlappedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OverlappedT<_Overlapped> TCOM_Overlapped;

// *********************************************************************//
// DispIntf:  _Overlapped
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DD846FCC-8D04-3665-81B6-AACBE99C19C3}
// *********************************************************************//
template<class T>
class _OverlappedDispT : public TAutoDriver<_Overlapped>
{
public:
  _OverlappedDispT(){}

  _OverlappedDispT(_Overlapped *pintf)
  {
    TAutoDriver<_Overlapped>::Bind(pintf, false);
  }

  _OverlappedDispT(_OverlappedPtr pintf)
  {
    TAutoDriver<_Overlapped>::Bind(pintf, true);
  }

  _OverlappedDispT& operator=(_Overlapped *pintf)
  {
    TAutoDriver<_Overlapped>::Bind(pintf, false);
    return *this;
  }

  _OverlappedDispT& operator=(_OverlappedPtr pintf)
  {
    TAutoDriver<_Overlapped>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Overlapped));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Overlapped);
  }


};
typedef _OverlappedDispT<_Overlapped> _OverlappedDisp;

// *********************************************************************//
// SmartIntf: TCOM_ReaderWriterLock
// Interface: _ReaderWriterLock
// *********************************************************************//
template <class T /* _ReaderWriterLock */ >
class TCOM_ReaderWriterLockT : public TComInterface<_ReaderWriterLock>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ReaderWriterLockT() {}
  TCOM_ReaderWriterLockT(_ReaderWriterLock *intf, bool addRef = false) : TComInterface<_ReaderWriterLock>(intf, addRef) {}
  TCOM_ReaderWriterLockT(const TCOM_ReaderWriterLockT& src) : TComInterface<_ReaderWriterLock>(src) {}
  TCOM_ReaderWriterLockT& operator=(const TCOM_ReaderWriterLockT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ReaderWriterLockT<_ReaderWriterLock> TCOM_ReaderWriterLock;

// *********************************************************************//
// DispIntf:  _ReaderWriterLock
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AD89B568-4FD4-3F8D-8327-B396B20A460E}
// *********************************************************************//
template<class T>
class _ReaderWriterLockDispT : public TAutoDriver<_ReaderWriterLock>
{
public:
  _ReaderWriterLockDispT(){}

  _ReaderWriterLockDispT(_ReaderWriterLock *pintf)
  {
    TAutoDriver<_ReaderWriterLock>::Bind(pintf, false);
  }

  _ReaderWriterLockDispT(_ReaderWriterLockPtr pintf)
  {
    TAutoDriver<_ReaderWriterLock>::Bind(pintf, true);
  }

  _ReaderWriterLockDispT& operator=(_ReaderWriterLock *pintf)
  {
    TAutoDriver<_ReaderWriterLock>::Bind(pintf, false);
    return *this;
  }

  _ReaderWriterLockDispT& operator=(_ReaderWriterLockPtr pintf)
  {
    TAutoDriver<_ReaderWriterLock>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ReaderWriterLock));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ReaderWriterLock);
  }


};
typedef _ReaderWriterLockDispT<_ReaderWriterLock> _ReaderWriterLockDisp;

// *********************************************************************//
// SmartIntf: TCOM_SynchronizationLockException
// Interface: _SynchronizationLockException
// *********************************************************************//
template <class T /* _SynchronizationLockException */ >
class TCOM_SynchronizationLockExceptionT : public TComInterface<_SynchronizationLockException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SynchronizationLockExceptionT() {}
  TCOM_SynchronizationLockExceptionT(_SynchronizationLockException *intf, bool addRef = false) : TComInterface<_SynchronizationLockException>(intf, addRef) {}
  TCOM_SynchronizationLockExceptionT(const TCOM_SynchronizationLockExceptionT& src) : TComInterface<_SynchronizationLockException>(src) {}
  TCOM_SynchronizationLockExceptionT& operator=(const TCOM_SynchronizationLockExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SynchronizationLockExceptionT<_SynchronizationLockException> TCOM_SynchronizationLockException;

// *********************************************************************//
// DispIntf:  _SynchronizationLockException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {87F55344-17E0-30FD-8EB9-38EAF6A19B3F}
// *********************************************************************//
template<class T>
class _SynchronizationLockExceptionDispT : public TAutoDriver<_SynchronizationLockException>
{
public:
  _SynchronizationLockExceptionDispT(){}

  _SynchronizationLockExceptionDispT(_SynchronizationLockException *pintf)
  {
    TAutoDriver<_SynchronizationLockException>::Bind(pintf, false);
  }

  _SynchronizationLockExceptionDispT(_SynchronizationLockExceptionPtr pintf)
  {
    TAutoDriver<_SynchronizationLockException>::Bind(pintf, true);
  }

  _SynchronizationLockExceptionDispT& operator=(_SynchronizationLockException *pintf)
  {
    TAutoDriver<_SynchronizationLockException>::Bind(pintf, false);
    return *this;
  }

  _SynchronizationLockExceptionDispT& operator=(_SynchronizationLockExceptionPtr pintf)
  {
    TAutoDriver<_SynchronizationLockException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SynchronizationLockException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SynchronizationLockException);
  }


};
typedef _SynchronizationLockExceptionDispT<_SynchronizationLockException> _SynchronizationLockExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ThreadAbortException
// Interface: _ThreadAbortException
// *********************************************************************//
template <class T /* _ThreadAbortException */ >
class TCOM_ThreadAbortExceptionT : public TComInterface<_ThreadAbortException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ThreadAbortExceptionT() {}
  TCOM_ThreadAbortExceptionT(_ThreadAbortException *intf, bool addRef = false) : TComInterface<_ThreadAbortException>(intf, addRef) {}
  TCOM_ThreadAbortExceptionT(const TCOM_ThreadAbortExceptionT& src) : TComInterface<_ThreadAbortException>(src) {}
  TCOM_ThreadAbortExceptionT& operator=(const TCOM_ThreadAbortExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ThreadAbortExceptionT<_ThreadAbortException> TCOM_ThreadAbortException;

// *********************************************************************//
// DispIntf:  _ThreadAbortException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {95B525DB-6B81-3CDC-8FE7-713F7FC793C0}
// *********************************************************************//
template<class T>
class _ThreadAbortExceptionDispT : public TAutoDriver<_ThreadAbortException>
{
public:
  _ThreadAbortExceptionDispT(){}

  _ThreadAbortExceptionDispT(_ThreadAbortException *pintf)
  {
    TAutoDriver<_ThreadAbortException>::Bind(pintf, false);
  }

  _ThreadAbortExceptionDispT(_ThreadAbortExceptionPtr pintf)
  {
    TAutoDriver<_ThreadAbortException>::Bind(pintf, true);
  }

  _ThreadAbortExceptionDispT& operator=(_ThreadAbortException *pintf)
  {
    TAutoDriver<_ThreadAbortException>::Bind(pintf, false);
    return *this;
  }

  _ThreadAbortExceptionDispT& operator=(_ThreadAbortExceptionPtr pintf)
  {
    TAutoDriver<_ThreadAbortException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ThreadAbortException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ThreadAbortException);
  }


};
typedef _ThreadAbortExceptionDispT<_ThreadAbortException> _ThreadAbortExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ThreadInterruptedException
// Interface: _ThreadInterruptedException
// *********************************************************************//
template <class T /* _ThreadInterruptedException */ >
class TCOM_ThreadInterruptedExceptionT : public TComInterface<_ThreadInterruptedException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ThreadInterruptedExceptionT() {}
  TCOM_ThreadInterruptedExceptionT(_ThreadInterruptedException *intf, bool addRef = false) : TComInterface<_ThreadInterruptedException>(intf, addRef) {}
  TCOM_ThreadInterruptedExceptionT(const TCOM_ThreadInterruptedExceptionT& src) : TComInterface<_ThreadInterruptedException>(src) {}
  TCOM_ThreadInterruptedExceptionT& operator=(const TCOM_ThreadInterruptedExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ThreadInterruptedExceptionT<_ThreadInterruptedException> TCOM_ThreadInterruptedException;

// *********************************************************************//
// DispIntf:  _ThreadInterruptedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B9E07599-7C44-33BE-A70E-EFA16F51F54A}
// *********************************************************************//
template<class T>
class _ThreadInterruptedExceptionDispT : public TAutoDriver<_ThreadInterruptedException>
{
public:
  _ThreadInterruptedExceptionDispT(){}

  _ThreadInterruptedExceptionDispT(_ThreadInterruptedException *pintf)
  {
    TAutoDriver<_ThreadInterruptedException>::Bind(pintf, false);
  }

  _ThreadInterruptedExceptionDispT(_ThreadInterruptedExceptionPtr pintf)
  {
    TAutoDriver<_ThreadInterruptedException>::Bind(pintf, true);
  }

  _ThreadInterruptedExceptionDispT& operator=(_ThreadInterruptedException *pintf)
  {
    TAutoDriver<_ThreadInterruptedException>::Bind(pintf, false);
    return *this;
  }

  _ThreadInterruptedExceptionDispT& operator=(_ThreadInterruptedExceptionPtr pintf)
  {
    TAutoDriver<_ThreadInterruptedException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ThreadInterruptedException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ThreadInterruptedException);
  }


};
typedef _ThreadInterruptedExceptionDispT<_ThreadInterruptedException> _ThreadInterruptedExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_RegisteredWaitHandle
// Interface: _RegisteredWaitHandle
// *********************************************************************//
template <class T /* _RegisteredWaitHandle */ >
class TCOM_RegisteredWaitHandleT : public TComInterface<_RegisteredWaitHandle>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RegisteredWaitHandleT() {}
  TCOM_RegisteredWaitHandleT(_RegisteredWaitHandle *intf, bool addRef = false) : TComInterface<_RegisteredWaitHandle>(intf, addRef) {}
  TCOM_RegisteredWaitHandleT(const TCOM_RegisteredWaitHandleT& src) : TComInterface<_RegisteredWaitHandle>(src) {}
  TCOM_RegisteredWaitHandleT& operator=(const TCOM_RegisteredWaitHandleT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RegisteredWaitHandleT<_RegisteredWaitHandle> TCOM_RegisteredWaitHandle;

// *********************************************************************//
// DispIntf:  _RegisteredWaitHandle
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {64409425-F8C9-370E-809E-3241CE804541}
// *********************************************************************//
template<class T>
class _RegisteredWaitHandleDispT : public TAutoDriver<_RegisteredWaitHandle>
{
public:
  _RegisteredWaitHandleDispT(){}

  _RegisteredWaitHandleDispT(_RegisteredWaitHandle *pintf)
  {
    TAutoDriver<_RegisteredWaitHandle>::Bind(pintf, false);
  }

  _RegisteredWaitHandleDispT(_RegisteredWaitHandlePtr pintf)
  {
    TAutoDriver<_RegisteredWaitHandle>::Bind(pintf, true);
  }

  _RegisteredWaitHandleDispT& operator=(_RegisteredWaitHandle *pintf)
  {
    TAutoDriver<_RegisteredWaitHandle>::Bind(pintf, false);
    return *this;
  }

  _RegisteredWaitHandleDispT& operator=(_RegisteredWaitHandlePtr pintf)
  {
    TAutoDriver<_RegisteredWaitHandle>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RegisteredWaitHandle));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RegisteredWaitHandle);
  }


};
typedef _RegisteredWaitHandleDispT<_RegisteredWaitHandle> _RegisteredWaitHandleDisp;

// *********************************************************************//
// SmartIntf: TCOM_WaitCallback
// Interface: _WaitCallback
// *********************************************************************//
template <class T /* _WaitCallback */ >
class TCOM_WaitCallbackT : public TComInterface<_WaitCallback>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WaitCallbackT() {}
  TCOM_WaitCallbackT(_WaitCallback *intf, bool addRef = false) : TComInterface<_WaitCallback>(intf, addRef) {}
  TCOM_WaitCallbackT(const TCOM_WaitCallbackT& src) : TComInterface<_WaitCallback>(src) {}
  TCOM_WaitCallbackT& operator=(const TCOM_WaitCallbackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WaitCallbackT<_WaitCallback> TCOM_WaitCallback;

// *********************************************************************//
// DispIntf:  _WaitCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CE949142-4D4C-358D-89A9-E69A531AA363}
// *********************************************************************//
template<class T>
class _WaitCallbackDispT : public TAutoDriver<_WaitCallback>
{
public:
  _WaitCallbackDispT(){}

  _WaitCallbackDispT(_WaitCallback *pintf)
  {
    TAutoDriver<_WaitCallback>::Bind(pintf, false);
  }

  _WaitCallbackDispT(_WaitCallbackPtr pintf)
  {
    TAutoDriver<_WaitCallback>::Bind(pintf, true);
  }

  _WaitCallbackDispT& operator=(_WaitCallback *pintf)
  {
    TAutoDriver<_WaitCallback>::Bind(pintf, false);
    return *this;
  }

  _WaitCallbackDispT& operator=(_WaitCallbackPtr pintf)
  {
    TAutoDriver<_WaitCallback>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WaitCallback));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WaitCallback);
  }


};
typedef _WaitCallbackDispT<_WaitCallback> _WaitCallbackDisp;

// *********************************************************************//
// SmartIntf: TCOM_WaitOrTimerCallback
// Interface: _WaitOrTimerCallback
// *********************************************************************//
template <class T /* _WaitOrTimerCallback */ >
class TCOM_WaitOrTimerCallbackT : public TComInterface<_WaitOrTimerCallback>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WaitOrTimerCallbackT() {}
  TCOM_WaitOrTimerCallbackT(_WaitOrTimerCallback *intf, bool addRef = false) : TComInterface<_WaitOrTimerCallback>(intf, addRef) {}
  TCOM_WaitOrTimerCallbackT(const TCOM_WaitOrTimerCallbackT& src) : TComInterface<_WaitOrTimerCallback>(src) {}
  TCOM_WaitOrTimerCallbackT& operator=(const TCOM_WaitOrTimerCallbackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WaitOrTimerCallbackT<_WaitOrTimerCallback> TCOM_WaitOrTimerCallback;

// *********************************************************************//
// DispIntf:  _WaitOrTimerCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F078F795-F452-3D2D-8CC8-16D66AE46C67}
// *********************************************************************//
template<class T>
class _WaitOrTimerCallbackDispT : public TAutoDriver<_WaitOrTimerCallback>
{
public:
  _WaitOrTimerCallbackDispT(){}

  _WaitOrTimerCallbackDispT(_WaitOrTimerCallback *pintf)
  {
    TAutoDriver<_WaitOrTimerCallback>::Bind(pintf, false);
  }

  _WaitOrTimerCallbackDispT(_WaitOrTimerCallbackPtr pintf)
  {
    TAutoDriver<_WaitOrTimerCallback>::Bind(pintf, true);
  }

  _WaitOrTimerCallbackDispT& operator=(_WaitOrTimerCallback *pintf)
  {
    TAutoDriver<_WaitOrTimerCallback>::Bind(pintf, false);
    return *this;
  }

  _WaitOrTimerCallbackDispT& operator=(_WaitOrTimerCallbackPtr pintf)
  {
    TAutoDriver<_WaitOrTimerCallback>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WaitOrTimerCallback));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WaitOrTimerCallback);
  }


};
typedef _WaitOrTimerCallbackDispT<_WaitOrTimerCallback> _WaitOrTimerCallbackDisp;

// *********************************************************************//
// SmartIntf: TCOM_IOCompletionCallback
// Interface: _IOCompletionCallback
// *********************************************************************//
template <class T /* _IOCompletionCallback */ >
class TCOM_IOCompletionCallbackT : public TComInterface<_IOCompletionCallback>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IOCompletionCallbackT() {}
  TCOM_IOCompletionCallbackT(_IOCompletionCallback *intf, bool addRef = false) : TComInterface<_IOCompletionCallback>(intf, addRef) {}
  TCOM_IOCompletionCallbackT(const TCOM_IOCompletionCallbackT& src) : TComInterface<_IOCompletionCallback>(src) {}
  TCOM_IOCompletionCallbackT& operator=(const TCOM_IOCompletionCallbackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IOCompletionCallbackT<_IOCompletionCallback> TCOM_IOCompletionCallback;

// *********************************************************************//
// DispIntf:  _IOCompletionCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BBAE942D-BFF4-36E2-A3BC-508BB3801F4F}
// *********************************************************************//
template<class T>
class _IOCompletionCallbackDispT : public TAutoDriver<_IOCompletionCallback>
{
public:
  _IOCompletionCallbackDispT(){}

  _IOCompletionCallbackDispT(_IOCompletionCallback *pintf)
  {
    TAutoDriver<_IOCompletionCallback>::Bind(pintf, false);
  }

  _IOCompletionCallbackDispT(_IOCompletionCallbackPtr pintf)
  {
    TAutoDriver<_IOCompletionCallback>::Bind(pintf, true);
  }

  _IOCompletionCallbackDispT& operator=(_IOCompletionCallback *pintf)
  {
    TAutoDriver<_IOCompletionCallback>::Bind(pintf, false);
    return *this;
  }

  _IOCompletionCallbackDispT& operator=(_IOCompletionCallbackPtr pintf)
  {
    TAutoDriver<_IOCompletionCallback>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IOCompletionCallback));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IOCompletionCallback);
  }


};
typedef _IOCompletionCallbackDispT<_IOCompletionCallback> _IOCompletionCallbackDisp;

// *********************************************************************//
// SmartIntf: TCOM_ThreadStart
// Interface: _ThreadStart
// *********************************************************************//
template <class T /* _ThreadStart */ >
class TCOM_ThreadStartT : public TComInterface<_ThreadStart>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ThreadStartT() {}
  TCOM_ThreadStartT(_ThreadStart *intf, bool addRef = false) : TComInterface<_ThreadStart>(intf, addRef) {}
  TCOM_ThreadStartT(const TCOM_ThreadStartT& src) : TComInterface<_ThreadStart>(src) {}
  TCOM_ThreadStartT& operator=(const TCOM_ThreadStartT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ThreadStartT<_ThreadStart> TCOM_ThreadStart;

// *********************************************************************//
// DispIntf:  _ThreadStart
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B45BBD7E-A977-3F56-A626-7A693E5DBBC5}
// *********************************************************************//
template<class T>
class _ThreadStartDispT : public TAutoDriver<_ThreadStart>
{
public:
  _ThreadStartDispT(){}

  _ThreadStartDispT(_ThreadStart *pintf)
  {
    TAutoDriver<_ThreadStart>::Bind(pintf, false);
  }

  _ThreadStartDispT(_ThreadStartPtr pintf)
  {
    TAutoDriver<_ThreadStart>::Bind(pintf, true);
  }

  _ThreadStartDispT& operator=(_ThreadStart *pintf)
  {
    TAutoDriver<_ThreadStart>::Bind(pintf, false);
    return *this;
  }

  _ThreadStartDispT& operator=(_ThreadStartPtr pintf)
  {
    TAutoDriver<_ThreadStart>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ThreadStart));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ThreadStart);
  }


};
typedef _ThreadStartDispT<_ThreadStart> _ThreadStartDisp;

// *********************************************************************//
// SmartIntf: TCOM_ThreadStateException
// Interface: _ThreadStateException
// *********************************************************************//
template <class T /* _ThreadStateException */ >
class TCOM_ThreadStateExceptionT : public TComInterface<_ThreadStateException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ThreadStateExceptionT() {}
  TCOM_ThreadStateExceptionT(_ThreadStateException *intf, bool addRef = false) : TComInterface<_ThreadStateException>(intf, addRef) {}
  TCOM_ThreadStateExceptionT(const TCOM_ThreadStateExceptionT& src) : TComInterface<_ThreadStateException>(src) {}
  TCOM_ThreadStateExceptionT& operator=(const TCOM_ThreadStateExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ThreadStateExceptionT<_ThreadStateException> TCOM_ThreadStateException;

// *********************************************************************//
// DispIntf:  _ThreadStateException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A13A41CF-E066-3B90-82F4-73109104E348}
// *********************************************************************//
template<class T>
class _ThreadStateExceptionDispT : public TAutoDriver<_ThreadStateException>
{
public:
  _ThreadStateExceptionDispT(){}

  _ThreadStateExceptionDispT(_ThreadStateException *pintf)
  {
    TAutoDriver<_ThreadStateException>::Bind(pintf, false);
  }

  _ThreadStateExceptionDispT(_ThreadStateExceptionPtr pintf)
  {
    TAutoDriver<_ThreadStateException>::Bind(pintf, true);
  }

  _ThreadStateExceptionDispT& operator=(_ThreadStateException *pintf)
  {
    TAutoDriver<_ThreadStateException>::Bind(pintf, false);
    return *this;
  }

  _ThreadStateExceptionDispT& operator=(_ThreadStateExceptionPtr pintf)
  {
    TAutoDriver<_ThreadStateException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ThreadStateException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ThreadStateException);
  }


};
typedef _ThreadStateExceptionDispT<_ThreadStateException> _ThreadStateExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ThreadStaticAttribute
// Interface: _ThreadStaticAttribute
// *********************************************************************//
template <class T /* _ThreadStaticAttribute */ >
class TCOM_ThreadStaticAttributeT : public TComInterface<_ThreadStaticAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ThreadStaticAttributeT() {}
  TCOM_ThreadStaticAttributeT(_ThreadStaticAttribute *intf, bool addRef = false) : TComInterface<_ThreadStaticAttribute>(intf, addRef) {}
  TCOM_ThreadStaticAttributeT(const TCOM_ThreadStaticAttributeT& src) : TComInterface<_ThreadStaticAttribute>(src) {}
  TCOM_ThreadStaticAttributeT& operator=(const TCOM_ThreadStaticAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ThreadStaticAttributeT<_ThreadStaticAttribute> TCOM_ThreadStaticAttribute;

// *********************************************************************//
// DispIntf:  _ThreadStaticAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A6B94B6D-854E-3172-A4EC-A17EDD16F85E}
// *********************************************************************//
template<class T>
class _ThreadStaticAttributeDispT : public TAutoDriver<_ThreadStaticAttribute>
{
public:
  _ThreadStaticAttributeDispT(){}

  _ThreadStaticAttributeDispT(_ThreadStaticAttribute *pintf)
  {
    TAutoDriver<_ThreadStaticAttribute>::Bind(pintf, false);
  }

  _ThreadStaticAttributeDispT(_ThreadStaticAttributePtr pintf)
  {
    TAutoDriver<_ThreadStaticAttribute>::Bind(pintf, true);
  }

  _ThreadStaticAttributeDispT& operator=(_ThreadStaticAttribute *pintf)
  {
    TAutoDriver<_ThreadStaticAttribute>::Bind(pintf, false);
    return *this;
  }

  _ThreadStaticAttributeDispT& operator=(_ThreadStaticAttributePtr pintf)
  {
    TAutoDriver<_ThreadStaticAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ThreadStaticAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ThreadStaticAttribute);
  }


};
typedef _ThreadStaticAttributeDispT<_ThreadStaticAttribute> _ThreadStaticAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_Timeout
// Interface: _Timeout
// *********************************************************************//
template <class T /* _Timeout */ >
class TCOM_TimeoutT : public TComInterface<_Timeout>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TimeoutT() {}
  TCOM_TimeoutT(_Timeout *intf, bool addRef = false) : TComInterface<_Timeout>(intf, addRef) {}
  TCOM_TimeoutT(const TCOM_TimeoutT& src) : TComInterface<_Timeout>(src) {}
  TCOM_TimeoutT& operator=(const TCOM_TimeoutT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TimeoutT<_Timeout> TCOM_Timeout;

// *********************************************************************//
// DispIntf:  _Timeout
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {81456E86-22AF-31D1-A91A-9C370C0E2530}
// *********************************************************************//
template<class T>
class _TimeoutDispT : public TAutoDriver<_Timeout>
{
public:
  _TimeoutDispT(){}

  _TimeoutDispT(_Timeout *pintf)
  {
    TAutoDriver<_Timeout>::Bind(pintf, false);
  }

  _TimeoutDispT(_TimeoutPtr pintf)
  {
    TAutoDriver<_Timeout>::Bind(pintf, true);
  }

  _TimeoutDispT& operator=(_Timeout *pintf)
  {
    TAutoDriver<_Timeout>::Bind(pintf, false);
    return *this;
  }

  _TimeoutDispT& operator=(_TimeoutPtr pintf)
  {
    TAutoDriver<_Timeout>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Timeout));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Timeout);
  }


};
typedef _TimeoutDispT<_Timeout> _TimeoutDisp;

// *********************************************************************//
// SmartIntf: TCOM_TimerCallback
// Interface: _TimerCallback
// *********************************************************************//
template <class T /* _TimerCallback */ >
class TCOM_TimerCallbackT : public TComInterface<_TimerCallback>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TimerCallbackT() {}
  TCOM_TimerCallbackT(_TimerCallback *intf, bool addRef = false) : TComInterface<_TimerCallback>(intf, addRef) {}
  TCOM_TimerCallbackT(const TCOM_TimerCallbackT& src) : TComInterface<_TimerCallback>(src) {}
  TCOM_TimerCallbackT& operator=(const TCOM_TimerCallbackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TimerCallbackT<_TimerCallback> TCOM_TimerCallback;

// *********************************************************************//
// DispIntf:  _TimerCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3741BC6F-101B-36D7-A9D5-03FCC0ECDA35}
// *********************************************************************//
template<class T>
class _TimerCallbackDispT : public TAutoDriver<_TimerCallback>
{
public:
  _TimerCallbackDispT(){}

  _TimerCallbackDispT(_TimerCallback *pintf)
  {
    TAutoDriver<_TimerCallback>::Bind(pintf, false);
  }

  _TimerCallbackDispT(_TimerCallbackPtr pintf)
  {
    TAutoDriver<_TimerCallback>::Bind(pintf, true);
  }

  _TimerCallbackDispT& operator=(_TimerCallback *pintf)
  {
    TAutoDriver<_TimerCallback>::Bind(pintf, false);
    return *this;
  }

  _TimerCallbackDispT& operator=(_TimerCallbackPtr pintf)
  {
    TAutoDriver<_TimerCallback>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TimerCallback));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TimerCallback);
  }


};
typedef _TimerCallbackDispT<_TimerCallback> _TimerCallbackDisp;

// *********************************************************************//
// SmartIntf: TCOM_Timer
// Interface: _Timer
// *********************************************************************//
template <class T /* _Timer */ >
class TCOM_TimerT : public TComInterface<_Timer>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TimerT() {}
  TCOM_TimerT(_Timer *intf, bool addRef = false) : TComInterface<_Timer>(intf, addRef) {}
  TCOM_TimerT(const TCOM_TimerT& src) : TComInterface<_Timer>(src) {}
  TCOM_TimerT& operator=(const TCOM_TimerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TimerT<_Timer> TCOM_Timer;

// *********************************************************************//
// DispIntf:  _Timer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B49A029B-406B-3B1E-88E4-F86690D20364}
// *********************************************************************//
template<class T>
class _TimerDispT : public TAutoDriver<_Timer>
{
public:
  _TimerDispT(){}

  _TimerDispT(_Timer *pintf)
  {
    TAutoDriver<_Timer>::Bind(pintf, false);
  }

  _TimerDispT(_TimerPtr pintf)
  {
    TAutoDriver<_Timer>::Bind(pintf, true);
  }

  _TimerDispT& operator=(_Timer *pintf)
  {
    TAutoDriver<_Timer>::Bind(pintf, false);
    return *this;
  }

  _TimerDispT& operator=(_TimerPtr pintf)
  {
    TAutoDriver<_Timer>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Timer));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Timer);
  }


};
typedef _TimerDispT<_Timer> _TimerDisp;

// *********************************************************************//
// SmartIntf: TCOM_STAThreadAttribute
// Interface: _STAThreadAttribute
// *********************************************************************//
template <class T /* _STAThreadAttribute */ >
class TCOM_STAThreadAttributeT : public TComInterface<_STAThreadAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_STAThreadAttributeT() {}
  TCOM_STAThreadAttributeT(_STAThreadAttribute *intf, bool addRef = false) : TComInterface<_STAThreadAttribute>(intf, addRef) {}
  TCOM_STAThreadAttributeT(const TCOM_STAThreadAttributeT& src) : TComInterface<_STAThreadAttribute>(src) {}
  TCOM_STAThreadAttributeT& operator=(const TCOM_STAThreadAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_STAThreadAttributeT<_STAThreadAttribute> TCOM_STAThreadAttribute;

// *********************************************************************//
// DispIntf:  _STAThreadAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {85D72F83-BE91-3CB1-B4F0-76B56FF04033}
// *********************************************************************//
template<class T>
class _STAThreadAttributeDispT : public TAutoDriver<_STAThreadAttribute>
{
public:
  _STAThreadAttributeDispT(){}

  _STAThreadAttributeDispT(_STAThreadAttribute *pintf)
  {
    TAutoDriver<_STAThreadAttribute>::Bind(pintf, false);
  }

  _STAThreadAttributeDispT(_STAThreadAttributePtr pintf)
  {
    TAutoDriver<_STAThreadAttribute>::Bind(pintf, true);
  }

  _STAThreadAttributeDispT& operator=(_STAThreadAttribute *pintf)
  {
    TAutoDriver<_STAThreadAttribute>::Bind(pintf, false);
    return *this;
  }

  _STAThreadAttributeDispT& operator=(_STAThreadAttributePtr pintf)
  {
    TAutoDriver<_STAThreadAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_STAThreadAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_STAThreadAttribute);
  }


};
typedef _STAThreadAttributeDispT<_STAThreadAttribute> _STAThreadAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_MTAThreadAttribute
// Interface: _MTAThreadAttribute
// *********************************************************************//
template <class T /* _MTAThreadAttribute */ >
class TCOM_MTAThreadAttributeT : public TComInterface<_MTAThreadAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MTAThreadAttributeT() {}
  TCOM_MTAThreadAttributeT(_MTAThreadAttribute *intf, bool addRef = false) : TComInterface<_MTAThreadAttribute>(intf, addRef) {}
  TCOM_MTAThreadAttributeT(const TCOM_MTAThreadAttributeT& src) : TComInterface<_MTAThreadAttribute>(src) {}
  TCOM_MTAThreadAttributeT& operator=(const TCOM_MTAThreadAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MTAThreadAttributeT<_MTAThreadAttribute> TCOM_MTAThreadAttribute;

// *********************************************************************//
// DispIntf:  _MTAThreadAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C02468D1-8713-3225-BDA3-49B2FE37DDBB}
// *********************************************************************//
template<class T>
class _MTAThreadAttributeDispT : public TAutoDriver<_MTAThreadAttribute>
{
public:
  _MTAThreadAttributeDispT(){}

  _MTAThreadAttributeDispT(_MTAThreadAttribute *pintf)
  {
    TAutoDriver<_MTAThreadAttribute>::Bind(pintf, false);
  }

  _MTAThreadAttributeDispT(_MTAThreadAttributePtr pintf)
  {
    TAutoDriver<_MTAThreadAttribute>::Bind(pintf, true);
  }

  _MTAThreadAttributeDispT& operator=(_MTAThreadAttribute *pintf)
  {
    TAutoDriver<_MTAThreadAttribute>::Bind(pintf, false);
    return *this;
  }

  _MTAThreadAttributeDispT& operator=(_MTAThreadAttributePtr pintf)
  {
    TAutoDriver<_MTAThreadAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MTAThreadAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MTAThreadAttribute);
  }


};
typedef _MTAThreadAttributeDispT<_MTAThreadAttribute> _MTAThreadAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ArrayList
// Interface: _ArrayList
// *********************************************************************//
template <class T /* _ArrayList */ >
class TCOM_ArrayListT : public TComInterface<_ArrayList>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ArrayListT() {}
  TCOM_ArrayListT(_ArrayList *intf, bool addRef = false) : TComInterface<_ArrayList>(intf, addRef) {}
  TCOM_ArrayListT(const TCOM_ArrayListT& src) : TComInterface<_ArrayList>(src) {}
  TCOM_ArrayListT& operator=(const TCOM_ArrayListT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ArrayListT<_ArrayList> TCOM_ArrayList;

// *********************************************************************//
// DispIntf:  _ArrayList
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {401F89CB-C127-3041-82FD-B67035395C56}
// *********************************************************************//
template<class T>
class _ArrayListDispT : public TAutoDriver<_ArrayList>
{
public:
  _ArrayListDispT(){}

  _ArrayListDispT(_ArrayList *pintf)
  {
    TAutoDriver<_ArrayList>::Bind(pintf, false);
  }

  _ArrayListDispT(_ArrayListPtr pintf)
  {
    TAutoDriver<_ArrayList>::Bind(pintf, true);
  }

  _ArrayListDispT& operator=(_ArrayList *pintf)
  {
    TAutoDriver<_ArrayList>::Bind(pintf, false);
    return *this;
  }

  _ArrayListDispT& operator=(_ArrayListPtr pintf)
  {
    TAutoDriver<_ArrayList>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ArrayList));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ArrayList);
  }


};
typedef _ArrayListDispT<_ArrayList> _ArrayListDisp;

// *********************************************************************//
// SmartIntf: TCOM_BitArray
// Interface: _BitArray
// *********************************************************************//
template <class T /* _BitArray */ >
class TCOM_BitArrayT : public TComInterface<_BitArray>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BitArrayT() {}
  TCOM_BitArrayT(_BitArray *intf, bool addRef = false) : TComInterface<_BitArray>(intf, addRef) {}
  TCOM_BitArrayT(const TCOM_BitArrayT& src) : TComInterface<_BitArray>(src) {}
  TCOM_BitArrayT& operator=(const TCOM_BitArrayT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BitArrayT<_BitArray> TCOM_BitArray;

// *********************************************************************//
// DispIntf:  _BitArray
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F145C46A-D170-3170-B52F-4678DFCA0300}
// *********************************************************************//
template<class T>
class _BitArrayDispT : public TAutoDriver<_BitArray>
{
public:
  _BitArrayDispT(){}

  _BitArrayDispT(_BitArray *pintf)
  {
    TAutoDriver<_BitArray>::Bind(pintf, false);
  }

  _BitArrayDispT(_BitArrayPtr pintf)
  {
    TAutoDriver<_BitArray>::Bind(pintf, true);
  }

  _BitArrayDispT& operator=(_BitArray *pintf)
  {
    TAutoDriver<_BitArray>::Bind(pintf, false);
    return *this;
  }

  _BitArrayDispT& operator=(_BitArrayPtr pintf)
  {
    TAutoDriver<_BitArray>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BitArray));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BitArray);
  }


};
typedef _BitArrayDispT<_BitArray> _BitArrayDisp;

// *********************************************************************//
// SmartIntf: TCOM_CaseInsensitiveComparer
// Interface: _CaseInsensitiveComparer
// *********************************************************************//
template <class T /* _CaseInsensitiveComparer */ >
class TCOM_CaseInsensitiveComparerT : public TComInterface<_CaseInsensitiveComparer>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CaseInsensitiveComparerT() {}
  TCOM_CaseInsensitiveComparerT(_CaseInsensitiveComparer *intf, bool addRef = false) : TComInterface<_CaseInsensitiveComparer>(intf, addRef) {}
  TCOM_CaseInsensitiveComparerT(const TCOM_CaseInsensitiveComparerT& src) : TComInterface<_CaseInsensitiveComparer>(src) {}
  TCOM_CaseInsensitiveComparerT& operator=(const TCOM_CaseInsensitiveComparerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CaseInsensitiveComparerT<_CaseInsensitiveComparer> TCOM_CaseInsensitiveComparer;

// *********************************************************************//
// DispIntf:  _CaseInsensitiveComparer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EA6795AC-97D6-3377-BE64-829ABD67607B}
// *********************************************************************//
template<class T>
class _CaseInsensitiveComparerDispT : public TAutoDriver<_CaseInsensitiveComparer>
{
public:
  _CaseInsensitiveComparerDispT(){}

  _CaseInsensitiveComparerDispT(_CaseInsensitiveComparer *pintf)
  {
    TAutoDriver<_CaseInsensitiveComparer>::Bind(pintf, false);
  }

  _CaseInsensitiveComparerDispT(_CaseInsensitiveComparerPtr pintf)
  {
    TAutoDriver<_CaseInsensitiveComparer>::Bind(pintf, true);
  }

  _CaseInsensitiveComparerDispT& operator=(_CaseInsensitiveComparer *pintf)
  {
    TAutoDriver<_CaseInsensitiveComparer>::Bind(pintf, false);
    return *this;
  }

  _CaseInsensitiveComparerDispT& operator=(_CaseInsensitiveComparerPtr pintf)
  {
    TAutoDriver<_CaseInsensitiveComparer>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CaseInsensitiveComparer));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CaseInsensitiveComparer);
  }


};
typedef _CaseInsensitiveComparerDispT<_CaseInsensitiveComparer> _CaseInsensitiveComparerDisp;

typedef TComInterface<IHashCodeProvider>  TCOMIHashCodeProvider;

// *********************************************************************//
// DispIntf:  IHashCodeProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {5D573036-3435-3C5A-AEFF-2B8191082C71}
// *********************************************************************//
template<class T>
class IHashCodeProviderDispT : public TAutoDriver<IHashCodeProvider>
{
public:
  IHashCodeProviderDispT(){}

  IHashCodeProviderDispT(IHashCodeProvider *pintf)
  {
    TAutoDriver<IHashCodeProvider>::Bind(pintf, false);
  }

  IHashCodeProviderDispT(IHashCodeProviderPtr pintf)
  {
    TAutoDriver<IHashCodeProvider>::Bind(pintf, true);
  }

  IHashCodeProviderDispT& operator=(IHashCodeProvider *pintf)
  {
    TAutoDriver<IHashCodeProvider>::Bind(pintf, false);
    return *this;
  }

  IHashCodeProviderDispT& operator=(IHashCodeProviderPtr pintf)
  {
    TAutoDriver<IHashCodeProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetHashCode(TVariantInParam obj/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(TVariantInParam obj/*[in]*/);

};
typedef IHashCodeProviderDispT<IHashCodeProvider> IHashCodeProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_CaseInsensitiveHashCodeProvider
// Interface: _CaseInsensitiveHashCodeProvider
// *********************************************************************//
template <class T /* _CaseInsensitiveHashCodeProvider */ >
class TCOM_CaseInsensitiveHashCodeProviderT : public TComInterface<_CaseInsensitiveHashCodeProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CaseInsensitiveHashCodeProviderT() {}
  TCOM_CaseInsensitiveHashCodeProviderT(_CaseInsensitiveHashCodeProvider *intf, bool addRef = false) : TComInterface<_CaseInsensitiveHashCodeProvider>(intf, addRef) {}
  TCOM_CaseInsensitiveHashCodeProviderT(const TCOM_CaseInsensitiveHashCodeProviderT& src) : TComInterface<_CaseInsensitiveHashCodeProvider>(src) {}
  TCOM_CaseInsensitiveHashCodeProviderT& operator=(const TCOM_CaseInsensitiveHashCodeProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CaseInsensitiveHashCodeProviderT<_CaseInsensitiveHashCodeProvider> TCOM_CaseInsensitiveHashCodeProvider;

// *********************************************************************//
// DispIntf:  _CaseInsensitiveHashCodeProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0422B845-B636-3688-8F61-9B6D93096336}
// *********************************************************************//
template<class T>
class _CaseInsensitiveHashCodeProviderDispT : public TAutoDriver<_CaseInsensitiveHashCodeProvider>
{
public:
  _CaseInsensitiveHashCodeProviderDispT(){}

  _CaseInsensitiveHashCodeProviderDispT(_CaseInsensitiveHashCodeProvider *pintf)
  {
    TAutoDriver<_CaseInsensitiveHashCodeProvider>::Bind(pintf, false);
  }

  _CaseInsensitiveHashCodeProviderDispT(_CaseInsensitiveHashCodeProviderPtr pintf)
  {
    TAutoDriver<_CaseInsensitiveHashCodeProvider>::Bind(pintf, true);
  }

  _CaseInsensitiveHashCodeProviderDispT& operator=(_CaseInsensitiveHashCodeProvider *pintf)
  {
    TAutoDriver<_CaseInsensitiveHashCodeProvider>::Bind(pintf, false);
    return *this;
  }

  _CaseInsensitiveHashCodeProviderDispT& operator=(_CaseInsensitiveHashCodeProviderPtr pintf)
  {
    TAutoDriver<_CaseInsensitiveHashCodeProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CaseInsensitiveHashCodeProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CaseInsensitiveHashCodeProvider);
  }


};
typedef _CaseInsensitiveHashCodeProviderDispT<_CaseInsensitiveHashCodeProvider> _CaseInsensitiveHashCodeProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_CollectionBase
// Interface: _CollectionBase
// *********************************************************************//
template <class T /* _CollectionBase */ >
class TCOM_CollectionBaseT : public TComInterface<_CollectionBase>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CollectionBaseT() {}
  TCOM_CollectionBaseT(_CollectionBase *intf, bool addRef = false) : TComInterface<_CollectionBase>(intf, addRef) {}
  TCOM_CollectionBaseT(const TCOM_CollectionBaseT& src) : TComInterface<_CollectionBase>(src) {}
  TCOM_CollectionBaseT& operator=(const TCOM_CollectionBaseT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CollectionBaseT<_CollectionBase> TCOM_CollectionBase;

// *********************************************************************//
// DispIntf:  _CollectionBase
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B7D29E26-7798-3FA4-90F4-E6A22D2099F9}
// *********************************************************************//
template<class T>
class _CollectionBaseDispT : public TAutoDriver<_CollectionBase>
{
public:
  _CollectionBaseDispT(){}

  _CollectionBaseDispT(_CollectionBase *pintf)
  {
    TAutoDriver<_CollectionBase>::Bind(pintf, false);
  }

  _CollectionBaseDispT(_CollectionBasePtr pintf)
  {
    TAutoDriver<_CollectionBase>::Bind(pintf, true);
  }

  _CollectionBaseDispT& operator=(_CollectionBase *pintf)
  {
    TAutoDriver<_CollectionBase>::Bind(pintf, false);
    return *this;
  }

  _CollectionBaseDispT& operator=(_CollectionBasePtr pintf)
  {
    TAutoDriver<_CollectionBase>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CollectionBase));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CollectionBase);
  }


};
typedef _CollectionBaseDispT<_CollectionBase> _CollectionBaseDisp;

// *********************************************************************//
// SmartIntf: TCOM_Comparer
// Interface: _Comparer
// *********************************************************************//
template <class T /* _Comparer */ >
class TCOM_ComparerT : public TComInterface<_Comparer>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComparerT() {}
  TCOM_ComparerT(_Comparer *intf, bool addRef = false) : TComInterface<_Comparer>(intf, addRef) {}
  TCOM_ComparerT(const TCOM_ComparerT& src) : TComInterface<_Comparer>(src) {}
  TCOM_ComparerT& operator=(const TCOM_ComparerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComparerT<_Comparer> TCOM_Comparer;

// *********************************************************************//
// DispIntf:  _Comparer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8064A157-B5C8-3A4A-AD3D-02DC1A39C417}
// *********************************************************************//
template<class T>
class _ComparerDispT : public TAutoDriver<_Comparer>
{
public:
  _ComparerDispT(){}

  _ComparerDispT(_Comparer *pintf)
  {
    TAutoDriver<_Comparer>::Bind(pintf, false);
  }

  _ComparerDispT(_ComparerPtr pintf)
  {
    TAutoDriver<_Comparer>::Bind(pintf, true);
  }

  _ComparerDispT& operator=(_Comparer *pintf)
  {
    TAutoDriver<_Comparer>::Bind(pintf, false);
    return *this;
  }

  _ComparerDispT& operator=(_ComparerPtr pintf)
  {
    TAutoDriver<_Comparer>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Comparer));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Comparer);
  }


};
typedef _ComparerDispT<_Comparer> _ComparerDisp;

typedef TComInterface<IDictionary>  TCOMIDictionary;

// *********************************************************************//
// DispIntf:  IDictionary
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6A6841DF-3287-3D87-8060-CE0B4C77D2A1}
// *********************************************************************//
template<class T>
class IDictionaryDispT : public TAutoDriver<IDictionary>
{
public:
  IDictionaryDispT(){}

  IDictionaryDispT(IDictionary *pintf)
  {
    TAutoDriver<IDictionary>::Bind(pintf, false);
  }

  IDictionaryDispT(IDictionaryPtr pintf)
  {
    TAutoDriver<IDictionary>::Bind(pintf, true);
  }

  IDictionaryDispT& operator=(IDictionary *pintf)
  {
    TAutoDriver<IDictionary>::Bind(pintf, false);
    return *this;
  }

  IDictionaryDispT& operator=(IDictionaryPtr pintf)
  {
    TAutoDriver<IDictionary>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Item(TVariantInParam key/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Item(TVariantInParam key/*[in]*/);
  HRESULT         __fastcall _set_Item(TVariantInParam key/*[in]*/, TVariantInParam pRetVal/*[in]*/);
  HRESULT         __fastcall get_Keys(Mscorlib_tlb::ICollectionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ICollectionPtr __fastcall get_Keys(void);
  HRESULT         __fastcall get_Values(Mscorlib_tlb::ICollectionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ICollectionPtr __fastcall get_Values(void);
  HRESULT         __fastcall Contains(TVariantInParam key/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Contains(TVariantInParam key/*[in]*/);
  HRESULT         __fastcall Add(TVariantInParam key/*[in]*/, TVariantInParam value/*[in]*/);
  HRESULT         __fastcall Clear();
  HRESULT         __fastcall get_IsReadOnly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsReadOnly(void);
  HRESULT         __fastcall get_IsFixedSize(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFixedSize(void);
  HRESULT         __fastcall GetEnumerator(Mscorlib_tlb::IDictionaryEnumeratorPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IDictionaryEnumeratorPtr __fastcall GetEnumerator(void);
  HRESULT         __fastcall Remove(TVariantInParam key/*[in]*/);

  __property   Mscorlib_tlb::ICollectionPtr Keys = {read = get_Keys};
  __property   Mscorlib_tlb::ICollectionPtr Values = {read = get_Values};
  __property   TOLEBOOL        IsReadOnly = {read = get_IsReadOnly};
  __property   TOLEBOOL        IsFixedSize = {read = get_IsFixedSize};
};
typedef IDictionaryDispT<IDictionary> IDictionaryDisp;

// *********************************************************************//
// SmartIntf: TCOM_DictionaryBase
// Interface: _DictionaryBase
// *********************************************************************//
template <class T /* _DictionaryBase */ >
class TCOM_DictionaryBaseT : public TComInterface<_DictionaryBase>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DictionaryBaseT() {}
  TCOM_DictionaryBaseT(_DictionaryBase *intf, bool addRef = false) : TComInterface<_DictionaryBase>(intf, addRef) {}
  TCOM_DictionaryBaseT(const TCOM_DictionaryBaseT& src) : TComInterface<_DictionaryBase>(src) {}
  TCOM_DictionaryBaseT& operator=(const TCOM_DictionaryBaseT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DictionaryBaseT<_DictionaryBase> TCOM_DictionaryBase;

// *********************************************************************//
// DispIntf:  _DictionaryBase
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DDD44DA2-BC6B-3620-9317-C0372968C741}
// *********************************************************************//
template<class T>
class _DictionaryBaseDispT : public TAutoDriver<_DictionaryBase>
{
public:
  _DictionaryBaseDispT(){}

  _DictionaryBaseDispT(_DictionaryBase *pintf)
  {
    TAutoDriver<_DictionaryBase>::Bind(pintf, false);
  }

  _DictionaryBaseDispT(_DictionaryBasePtr pintf)
  {
    TAutoDriver<_DictionaryBase>::Bind(pintf, true);
  }

  _DictionaryBaseDispT& operator=(_DictionaryBase *pintf)
  {
    TAutoDriver<_DictionaryBase>::Bind(pintf, false);
    return *this;
  }

  _DictionaryBaseDispT& operator=(_DictionaryBasePtr pintf)
  {
    TAutoDriver<_DictionaryBase>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DictionaryBase));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DictionaryBase);
  }


};
typedef _DictionaryBaseDispT<_DictionaryBase> _DictionaryBaseDisp;

typedef TComInterface<IDictionaryEnumerator>  TCOMIDictionaryEnumerator;

// *********************************************************************//
// DispIntf:  IDictionaryEnumerator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {35D574BF-7A4F-3588-8C19-12212A0FE4DC}
// *********************************************************************//
template<class T>
class IDictionaryEnumeratorDispT : public TAutoDriver<IDictionaryEnumerator>
{
public:
  IDictionaryEnumeratorDispT(){}

  IDictionaryEnumeratorDispT(IDictionaryEnumerator *pintf)
  {
    TAutoDriver<IDictionaryEnumerator>::Bind(pintf, false);
  }

  IDictionaryEnumeratorDispT(IDictionaryEnumeratorPtr pintf)
  {
    TAutoDriver<IDictionaryEnumerator>::Bind(pintf, true);
  }

  IDictionaryEnumeratorDispT& operator=(IDictionaryEnumerator *pintf)
  {
    TAutoDriver<IDictionaryEnumerator>::Bind(pintf, false);
    return *this;
  }

  IDictionaryEnumeratorDispT& operator=(IDictionaryEnumeratorPtr pintf)
  {
    TAutoDriver<IDictionaryEnumerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_key(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_key(void);
  HRESULT         __fastcall get_value(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_value(void);
  HRESULT         __fastcall get_Entry(/*AUTO_PARAM_ERROR(Mscorlib_tlb::DictionaryEntry* pRetVal)*/ TVariant*  pRetVal);

};
typedef IDictionaryEnumeratorDispT<IDictionaryEnumerator> IDictionaryEnumeratorDisp;

typedef TComInterface<IDeserializationCallback>  TCOMIDeserializationCallback;

// *********************************************************************//
// DispIntf:  IDeserializationCallback
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AB3F47E4-C227-3B05-BF9F-94649BEF9888}
// *********************************************************************//
template<class T>
class IDeserializationCallbackDispT : public TAutoDriver<IDeserializationCallback>
{
public:
  IDeserializationCallbackDispT(){}

  IDeserializationCallbackDispT(IDeserializationCallback *pintf)
  {
    TAutoDriver<IDeserializationCallback>::Bind(pintf, false);
  }

  IDeserializationCallbackDispT(IDeserializationCallbackPtr pintf)
  {
    TAutoDriver<IDeserializationCallback>::Bind(pintf, true);
  }

  IDeserializationCallbackDispT& operator=(IDeserializationCallback *pintf)
  {
    TAutoDriver<IDeserializationCallback>::Bind(pintf, false);
    return *this;
  }

  IDeserializationCallbackDispT& operator=(IDeserializationCallbackPtr pintf)
  {
    TAutoDriver<IDeserializationCallback>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall OnDeserialization(TVariantInParam sender/*[in]*/);

};
typedef IDeserializationCallbackDispT<IDeserializationCallback> IDeserializationCallbackDisp;

// *********************************************************************//
// SmartIntf: TCOM_Hashtable
// Interface: _Hashtable
// *********************************************************************//
template <class T /* _Hashtable */ >
class TCOM_HashtableT : public TComInterface<_Hashtable>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HashtableT() {}
  TCOM_HashtableT(_Hashtable *intf, bool addRef = false) : TComInterface<_Hashtable>(intf, addRef) {}
  TCOM_HashtableT(const TCOM_HashtableT& src) : TComInterface<_Hashtable>(src) {}
  TCOM_HashtableT& operator=(const TCOM_HashtableT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HashtableT<_Hashtable> TCOM_Hashtable;

// *********************************************************************//
// DispIntf:  _Hashtable
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D25A197E-3E69-3271-A989-23D85E97F920}
// *********************************************************************//
template<class T>
class _HashtableDispT : public TAutoDriver<_Hashtable>
{
public:
  _HashtableDispT(){}

  _HashtableDispT(_Hashtable *pintf)
  {
    TAutoDriver<_Hashtable>::Bind(pintf, false);
  }

  _HashtableDispT(_HashtablePtr pintf)
  {
    TAutoDriver<_Hashtable>::Bind(pintf, true);
  }

  _HashtableDispT& operator=(_Hashtable *pintf)
  {
    TAutoDriver<_Hashtable>::Bind(pintf, false);
    return *this;
  }

  _HashtableDispT& operator=(_HashtablePtr pintf)
  {
    TAutoDriver<_Hashtable>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Hashtable));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Hashtable);
  }


};
typedef _HashtableDispT<_Hashtable> _HashtableDisp;

// *********************************************************************//
// SmartIntf: TCOM_Queue
// Interface: _Queue
// *********************************************************************//
template <class T /* _Queue */ >
class TCOM_QueueT : public TComInterface<_Queue>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_QueueT() {}
  TCOM_QueueT(_Queue *intf, bool addRef = false) : TComInterface<_Queue>(intf, addRef) {}
  TCOM_QueueT(const TCOM_QueueT& src) : TComInterface<_Queue>(src) {}
  TCOM_QueueT& operator=(const TCOM_QueueT& src) { Bind(src, true); return *this;}


};
typedef TCOM_QueueT<_Queue> TCOM_Queue;

// *********************************************************************//
// DispIntf:  _Queue
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3A7D3CA4-B7D1-3A2A-800C-8FC2ACFCBDA4}
// *********************************************************************//
template<class T>
class _QueueDispT : public TAutoDriver<_Queue>
{
public:
  _QueueDispT(){}

  _QueueDispT(_Queue *pintf)
  {
    TAutoDriver<_Queue>::Bind(pintf, false);
  }

  _QueueDispT(_QueuePtr pintf)
  {
    TAutoDriver<_Queue>::Bind(pintf, true);
  }

  _QueueDispT& operator=(_Queue *pintf)
  {
    TAutoDriver<_Queue>::Bind(pintf, false);
    return *this;
  }

  _QueueDispT& operator=(_QueuePtr pintf)
  {
    TAutoDriver<_Queue>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Queue));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Queue);
  }


};
typedef _QueueDispT<_Queue> _QueueDisp;

// *********************************************************************//
// SmartIntf: TCOM_ReadOnlyCollectionBase
// Interface: _ReadOnlyCollectionBase
// *********************************************************************//
template <class T /* _ReadOnlyCollectionBase */ >
class TCOM_ReadOnlyCollectionBaseT : public TComInterface<_ReadOnlyCollectionBase>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ReadOnlyCollectionBaseT() {}
  TCOM_ReadOnlyCollectionBaseT(_ReadOnlyCollectionBase *intf, bool addRef = false) : TComInterface<_ReadOnlyCollectionBase>(intf, addRef) {}
  TCOM_ReadOnlyCollectionBaseT(const TCOM_ReadOnlyCollectionBaseT& src) : TComInterface<_ReadOnlyCollectionBase>(src) {}
  TCOM_ReadOnlyCollectionBaseT& operator=(const TCOM_ReadOnlyCollectionBaseT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ReadOnlyCollectionBaseT<_ReadOnlyCollectionBase> TCOM_ReadOnlyCollectionBase;

// *********************************************************************//
// DispIntf:  _ReadOnlyCollectionBase
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BD32D878-A59B-3E5C-BFE0-A96B1A1E9D6F}
// *********************************************************************//
template<class T>
class _ReadOnlyCollectionBaseDispT : public TAutoDriver<_ReadOnlyCollectionBase>
{
public:
  _ReadOnlyCollectionBaseDispT(){}

  _ReadOnlyCollectionBaseDispT(_ReadOnlyCollectionBase *pintf)
  {
    TAutoDriver<_ReadOnlyCollectionBase>::Bind(pintf, false);
  }

  _ReadOnlyCollectionBaseDispT(_ReadOnlyCollectionBasePtr pintf)
  {
    TAutoDriver<_ReadOnlyCollectionBase>::Bind(pintf, true);
  }

  _ReadOnlyCollectionBaseDispT& operator=(_ReadOnlyCollectionBase *pintf)
  {
    TAutoDriver<_ReadOnlyCollectionBase>::Bind(pintf, false);
    return *this;
  }

  _ReadOnlyCollectionBaseDispT& operator=(_ReadOnlyCollectionBasePtr pintf)
  {
    TAutoDriver<_ReadOnlyCollectionBase>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ReadOnlyCollectionBase));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ReadOnlyCollectionBase);
  }


};
typedef _ReadOnlyCollectionBaseDispT<_ReadOnlyCollectionBase> _ReadOnlyCollectionBaseDisp;

// *********************************************************************//
// SmartIntf: TCOM_SortedList
// Interface: _SortedList
// *********************************************************************//
template <class T /* _SortedList */ >
class TCOM_SortedListT : public TComInterface<_SortedList>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SortedListT() {}
  TCOM_SortedListT(_SortedList *intf, bool addRef = false) : TComInterface<_SortedList>(intf, addRef) {}
  TCOM_SortedListT(const TCOM_SortedListT& src) : TComInterface<_SortedList>(src) {}
  TCOM_SortedListT& operator=(const TCOM_SortedListT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SortedListT<_SortedList> TCOM_SortedList;

// *********************************************************************//
// DispIntf:  _SortedList
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {56421139-A143-3AE9-9852-1DBDFE3D6BFA}
// *********************************************************************//
template<class T>
class _SortedListDispT : public TAutoDriver<_SortedList>
{
public:
  _SortedListDispT(){}

  _SortedListDispT(_SortedList *pintf)
  {
    TAutoDriver<_SortedList>::Bind(pintf, false);
  }

  _SortedListDispT(_SortedListPtr pintf)
  {
    TAutoDriver<_SortedList>::Bind(pintf, true);
  }

  _SortedListDispT& operator=(_SortedList *pintf)
  {
    TAutoDriver<_SortedList>::Bind(pintf, false);
    return *this;
  }

  _SortedListDispT& operator=(_SortedListPtr pintf)
  {
    TAutoDriver<_SortedList>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SortedList));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SortedList);
  }


};
typedef _SortedListDispT<_SortedList> _SortedListDisp;

// *********************************************************************//
// SmartIntf: TCOM_Stack
// Interface: _Stack
// *********************************************************************//
template <class T /* _Stack */ >
class TCOM_StackT : public TComInterface<_Stack>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StackT() {}
  TCOM_StackT(_Stack *intf, bool addRef = false) : TComInterface<_Stack>(intf, addRef) {}
  TCOM_StackT(const TCOM_StackT& src) : TComInterface<_Stack>(src) {}
  TCOM_StackT& operator=(const TCOM_StackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StackT<_Stack> TCOM_Stack;

// *********************************************************************//
// DispIntf:  _Stack
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AB538809-3C2F-35D9-80E6-7BAD540484A1}
// *********************************************************************//
template<class T>
class _StackDispT : public TAutoDriver<_Stack>
{
public:
  _StackDispT(){}

  _StackDispT(_Stack *pintf)
  {
    TAutoDriver<_Stack>::Bind(pintf, false);
  }

  _StackDispT(_StackPtr pintf)
  {
    TAutoDriver<_Stack>::Bind(pintf, true);
  }

  _StackDispT& operator=(_Stack *pintf)
  {
    TAutoDriver<_Stack>::Bind(pintf, false);
    return *this;
  }

  _StackDispT& operator=(_StackPtr pintf)
  {
    TAutoDriver<_Stack>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Stack));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Stack);
  }


};
typedef _StackDispT<_Stack> _StackDisp;

// *********************************************************************//
// SmartIntf: TCOM_Nullable
// Interface: _Nullable
// *********************************************************************//
template <class T /* _Nullable */ >
class TCOM_NullableT : public TComInterface<_Nullable>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NullableT() {}
  TCOM_NullableT(_Nullable *intf, bool addRef = false) : TComInterface<_Nullable>(intf, addRef) {}
  TCOM_NullableT(const TCOM_NullableT& src) : TComInterface<_Nullable>(src) {}
  TCOM_NullableT& operator=(const TCOM_NullableT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NullableT<_Nullable> TCOM_Nullable;

// *********************************************************************//
// DispIntf:  _Nullable
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {84E7AC09-795A-3EA9-A36A-5B81EBAB0558}
// *********************************************************************//
template<class T>
class _NullableDispT : public TAutoDriver<_Nullable>
{
public:
  _NullableDispT(){}

  _NullableDispT(_Nullable *pintf)
  {
    TAutoDriver<_Nullable>::Bind(pintf, false);
  }

  _NullableDispT(_NullablePtr pintf)
  {
    TAutoDriver<_Nullable>::Bind(pintf, true);
  }

  _NullableDispT& operator=(_Nullable *pintf)
  {
    TAutoDriver<_Nullable>::Bind(pintf, false);
    return *this;
  }

  _NullableDispT& operator=(_NullablePtr pintf)
  {
    TAutoDriver<_Nullable>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Nullable));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Nullable);
  }


};
typedef _NullableDispT<_Nullable> _NullableDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeyNotFoundException
// Interface: _KeyNotFoundException
// *********************************************************************//
template <class T /* _KeyNotFoundException */ >
class TCOM_KeyNotFoundExceptionT : public TComInterface<_KeyNotFoundException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeyNotFoundExceptionT() {}
  TCOM_KeyNotFoundExceptionT(_KeyNotFoundException *intf, bool addRef = false) : TComInterface<_KeyNotFoundException>(intf, addRef) {}
  TCOM_KeyNotFoundExceptionT(const TCOM_KeyNotFoundExceptionT& src) : TComInterface<_KeyNotFoundException>(src) {}
  TCOM_KeyNotFoundExceptionT& operator=(const TCOM_KeyNotFoundExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeyNotFoundExceptionT<_KeyNotFoundException> TCOM_KeyNotFoundException;

// *********************************************************************//
// DispIntf:  _KeyNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8039C41F-4399-38A2-99B7-D234B5CF7A7B}
// *********************************************************************//
template<class T>
class _KeyNotFoundExceptionDispT : public TAutoDriver<_KeyNotFoundException>
{
public:
  _KeyNotFoundExceptionDispT(){}

  _KeyNotFoundExceptionDispT(_KeyNotFoundException *pintf)
  {
    TAutoDriver<_KeyNotFoundException>::Bind(pintf, false);
  }

  _KeyNotFoundExceptionDispT(_KeyNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_KeyNotFoundException>::Bind(pintf, true);
  }

  _KeyNotFoundExceptionDispT& operator=(_KeyNotFoundException *pintf)
  {
    TAutoDriver<_KeyNotFoundException>::Bind(pintf, false);
    return *this;
  }

  _KeyNotFoundExceptionDispT& operator=(_KeyNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_KeyNotFoundException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeyNotFoundException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeyNotFoundException);
  }


};
typedef _KeyNotFoundExceptionDispT<_KeyNotFoundException> _KeyNotFoundExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ConditionalAttribute
// Interface: _ConditionalAttribute
// *********************************************************************//
template <class T /* _ConditionalAttribute */ >
class TCOM_ConditionalAttributeT : public TComInterface<_ConditionalAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ConditionalAttributeT() {}
  TCOM_ConditionalAttributeT(_ConditionalAttribute *intf, bool addRef = false) : TComInterface<_ConditionalAttribute>(intf, addRef) {}
  TCOM_ConditionalAttributeT(const TCOM_ConditionalAttributeT& src) : TComInterface<_ConditionalAttribute>(src) {}
  TCOM_ConditionalAttributeT& operator=(const TCOM_ConditionalAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ConditionalAttributeT<_ConditionalAttribute> TCOM_ConditionalAttribute;

// *********************************************************************//
// DispIntf:  _ConditionalAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E40A025C-645B-3C8E-A1AC-9C5CCA279625}
// *********************************************************************//
template<class T>
class _ConditionalAttributeDispT : public TAutoDriver<_ConditionalAttribute>
{
public:
  _ConditionalAttributeDispT(){}

  _ConditionalAttributeDispT(_ConditionalAttribute *pintf)
  {
    TAutoDriver<_ConditionalAttribute>::Bind(pintf, false);
  }

  _ConditionalAttributeDispT(_ConditionalAttributePtr pintf)
  {
    TAutoDriver<_ConditionalAttribute>::Bind(pintf, true);
  }

  _ConditionalAttributeDispT& operator=(_ConditionalAttribute *pintf)
  {
    TAutoDriver<_ConditionalAttribute>::Bind(pintf, false);
    return *this;
  }

  _ConditionalAttributeDispT& operator=(_ConditionalAttributePtr pintf)
  {
    TAutoDriver<_ConditionalAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ConditionalAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ConditionalAttribute);
  }


};
typedef _ConditionalAttributeDispT<_ConditionalAttribute> _ConditionalAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_Debugger
// Interface: _Debugger
// *********************************************************************//
template <class T /* _Debugger */ >
class TCOM_DebuggerT : public TComInterface<_Debugger>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerT() {}
  TCOM_DebuggerT(_Debugger *intf, bool addRef = false) : TComInterface<_Debugger>(intf, addRef) {}
  TCOM_DebuggerT(const TCOM_DebuggerT& src) : TComInterface<_Debugger>(src) {}
  TCOM_DebuggerT& operator=(const TCOM_DebuggerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerT<_Debugger> TCOM_Debugger;

// *********************************************************************//
// DispIntf:  _Debugger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9B4786C-08E3-344F-A651-2F9926DEAC5E}
// *********************************************************************//
template<class T>
class _DebuggerDispT : public TAutoDriver<_Debugger>
{
public:
  _DebuggerDispT(){}

  _DebuggerDispT(_Debugger *pintf)
  {
    TAutoDriver<_Debugger>::Bind(pintf, false);
  }

  _DebuggerDispT(_DebuggerPtr pintf)
  {
    TAutoDriver<_Debugger>::Bind(pintf, true);
  }

  _DebuggerDispT& operator=(_Debugger *pintf)
  {
    TAutoDriver<_Debugger>::Bind(pintf, false);
    return *this;
  }

  _DebuggerDispT& operator=(_DebuggerPtr pintf)
  {
    TAutoDriver<_Debugger>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Debugger));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Debugger);
  }


};
typedef _DebuggerDispT<_Debugger> _DebuggerDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerStepThroughAttribute
// Interface: _DebuggerStepThroughAttribute
// *********************************************************************//
template <class T /* _DebuggerStepThroughAttribute */ >
class TCOM_DebuggerStepThroughAttributeT : public TComInterface<_DebuggerStepThroughAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerStepThroughAttributeT() {}
  TCOM_DebuggerStepThroughAttributeT(_DebuggerStepThroughAttribute *intf, bool addRef = false) : TComInterface<_DebuggerStepThroughAttribute>(intf, addRef) {}
  TCOM_DebuggerStepThroughAttributeT(const TCOM_DebuggerStepThroughAttributeT& src) : TComInterface<_DebuggerStepThroughAttribute>(src) {}
  TCOM_DebuggerStepThroughAttributeT& operator=(const TCOM_DebuggerStepThroughAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerStepThroughAttributeT<_DebuggerStepThroughAttribute> TCOM_DebuggerStepThroughAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerStepThroughAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3344E8B4-A5C3-3882-8D30-63792485ECCF}
// *********************************************************************//
template<class T>
class _DebuggerStepThroughAttributeDispT : public TAutoDriver<_DebuggerStepThroughAttribute>
{
public:
  _DebuggerStepThroughAttributeDispT(){}

  _DebuggerStepThroughAttributeDispT(_DebuggerStepThroughAttribute *pintf)
  {
    TAutoDriver<_DebuggerStepThroughAttribute>::Bind(pintf, false);
  }

  _DebuggerStepThroughAttributeDispT(_DebuggerStepThroughAttributePtr pintf)
  {
    TAutoDriver<_DebuggerStepThroughAttribute>::Bind(pintf, true);
  }

  _DebuggerStepThroughAttributeDispT& operator=(_DebuggerStepThroughAttribute *pintf)
  {
    TAutoDriver<_DebuggerStepThroughAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerStepThroughAttributeDispT& operator=(_DebuggerStepThroughAttributePtr pintf)
  {
    TAutoDriver<_DebuggerStepThroughAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerStepThroughAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerStepThroughAttribute);
  }


};
typedef _DebuggerStepThroughAttributeDispT<_DebuggerStepThroughAttribute> _DebuggerStepThroughAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerStepperBoundaryAttribute
// Interface: _DebuggerStepperBoundaryAttribute
// *********************************************************************//
template <class T /* _DebuggerStepperBoundaryAttribute */ >
class TCOM_DebuggerStepperBoundaryAttributeT : public TComInterface<_DebuggerStepperBoundaryAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerStepperBoundaryAttributeT() {}
  TCOM_DebuggerStepperBoundaryAttributeT(_DebuggerStepperBoundaryAttribute *intf, bool addRef = false) : TComInterface<_DebuggerStepperBoundaryAttribute>(intf, addRef) {}
  TCOM_DebuggerStepperBoundaryAttributeT(const TCOM_DebuggerStepperBoundaryAttributeT& src) : TComInterface<_DebuggerStepperBoundaryAttribute>(src) {}
  TCOM_DebuggerStepperBoundaryAttributeT& operator=(const TCOM_DebuggerStepperBoundaryAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerStepperBoundaryAttributeT<_DebuggerStepperBoundaryAttribute> TCOM_DebuggerStepperBoundaryAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerStepperBoundaryAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B3276180-B23E-3034-B18F-E0122BA4E4CF}
// *********************************************************************//
template<class T>
class _DebuggerStepperBoundaryAttributeDispT : public TAutoDriver<_DebuggerStepperBoundaryAttribute>
{
public:
  _DebuggerStepperBoundaryAttributeDispT(){}

  _DebuggerStepperBoundaryAttributeDispT(_DebuggerStepperBoundaryAttribute *pintf)
  {
    TAutoDriver<_DebuggerStepperBoundaryAttribute>::Bind(pintf, false);
  }

  _DebuggerStepperBoundaryAttributeDispT(_DebuggerStepperBoundaryAttributePtr pintf)
  {
    TAutoDriver<_DebuggerStepperBoundaryAttribute>::Bind(pintf, true);
  }

  _DebuggerStepperBoundaryAttributeDispT& operator=(_DebuggerStepperBoundaryAttribute *pintf)
  {
    TAutoDriver<_DebuggerStepperBoundaryAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerStepperBoundaryAttributeDispT& operator=(_DebuggerStepperBoundaryAttributePtr pintf)
  {
    TAutoDriver<_DebuggerStepperBoundaryAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerStepperBoundaryAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerStepperBoundaryAttribute);
  }


};
typedef _DebuggerStepperBoundaryAttributeDispT<_DebuggerStepperBoundaryAttribute> _DebuggerStepperBoundaryAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerHiddenAttribute
// Interface: _DebuggerHiddenAttribute
// *********************************************************************//
template <class T /* _DebuggerHiddenAttribute */ >
class TCOM_DebuggerHiddenAttributeT : public TComInterface<_DebuggerHiddenAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerHiddenAttributeT() {}
  TCOM_DebuggerHiddenAttributeT(_DebuggerHiddenAttribute *intf, bool addRef = false) : TComInterface<_DebuggerHiddenAttribute>(intf, addRef) {}
  TCOM_DebuggerHiddenAttributeT(const TCOM_DebuggerHiddenAttributeT& src) : TComInterface<_DebuggerHiddenAttribute>(src) {}
  TCOM_DebuggerHiddenAttributeT& operator=(const TCOM_DebuggerHiddenAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerHiddenAttributeT<_DebuggerHiddenAttribute> TCOM_DebuggerHiddenAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerHiddenAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {55B6903B-55FE-35E0-804F-E42A096D2EB0}
// *********************************************************************//
template<class T>
class _DebuggerHiddenAttributeDispT : public TAutoDriver<_DebuggerHiddenAttribute>
{
public:
  _DebuggerHiddenAttributeDispT(){}

  _DebuggerHiddenAttributeDispT(_DebuggerHiddenAttribute *pintf)
  {
    TAutoDriver<_DebuggerHiddenAttribute>::Bind(pintf, false);
  }

  _DebuggerHiddenAttributeDispT(_DebuggerHiddenAttributePtr pintf)
  {
    TAutoDriver<_DebuggerHiddenAttribute>::Bind(pintf, true);
  }

  _DebuggerHiddenAttributeDispT& operator=(_DebuggerHiddenAttribute *pintf)
  {
    TAutoDriver<_DebuggerHiddenAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerHiddenAttributeDispT& operator=(_DebuggerHiddenAttributePtr pintf)
  {
    TAutoDriver<_DebuggerHiddenAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerHiddenAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerHiddenAttribute);
  }


};
typedef _DebuggerHiddenAttributeDispT<_DebuggerHiddenAttribute> _DebuggerHiddenAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerNonUserCodeAttribute
// Interface: _DebuggerNonUserCodeAttribute
// *********************************************************************//
template <class T /* _DebuggerNonUserCodeAttribute */ >
class TCOM_DebuggerNonUserCodeAttributeT : public TComInterface<_DebuggerNonUserCodeAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerNonUserCodeAttributeT() {}
  TCOM_DebuggerNonUserCodeAttributeT(_DebuggerNonUserCodeAttribute *intf, bool addRef = false) : TComInterface<_DebuggerNonUserCodeAttribute>(intf, addRef) {}
  TCOM_DebuggerNonUserCodeAttributeT(const TCOM_DebuggerNonUserCodeAttributeT& src) : TComInterface<_DebuggerNonUserCodeAttribute>(src) {}
  TCOM_DebuggerNonUserCodeAttributeT& operator=(const TCOM_DebuggerNonUserCodeAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerNonUserCodeAttributeT<_DebuggerNonUserCodeAttribute> TCOM_DebuggerNonUserCodeAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerNonUserCodeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CC6DCAFD-0185-308A-891C-83812FE574E7}
// *********************************************************************//
template<class T>
class _DebuggerNonUserCodeAttributeDispT : public TAutoDriver<_DebuggerNonUserCodeAttribute>
{
public:
  _DebuggerNonUserCodeAttributeDispT(){}

  _DebuggerNonUserCodeAttributeDispT(_DebuggerNonUserCodeAttribute *pintf)
  {
    TAutoDriver<_DebuggerNonUserCodeAttribute>::Bind(pintf, false);
  }

  _DebuggerNonUserCodeAttributeDispT(_DebuggerNonUserCodeAttributePtr pintf)
  {
    TAutoDriver<_DebuggerNonUserCodeAttribute>::Bind(pintf, true);
  }

  _DebuggerNonUserCodeAttributeDispT& operator=(_DebuggerNonUserCodeAttribute *pintf)
  {
    TAutoDriver<_DebuggerNonUserCodeAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerNonUserCodeAttributeDispT& operator=(_DebuggerNonUserCodeAttributePtr pintf)
  {
    TAutoDriver<_DebuggerNonUserCodeAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerNonUserCodeAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerNonUserCodeAttribute);
  }


};
typedef _DebuggerNonUserCodeAttributeDispT<_DebuggerNonUserCodeAttribute> _DebuggerNonUserCodeAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggableAttribute
// Interface: _DebuggableAttribute
// *********************************************************************//
template <class T /* _DebuggableAttribute */ >
class TCOM_DebuggableAttributeT : public TComInterface<_DebuggableAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggableAttributeT() {}
  TCOM_DebuggableAttributeT(_DebuggableAttribute *intf, bool addRef = false) : TComInterface<_DebuggableAttribute>(intf, addRef) {}
  TCOM_DebuggableAttributeT(const TCOM_DebuggableAttributeT& src) : TComInterface<_DebuggableAttribute>(src) {}
  TCOM_DebuggableAttributeT& operator=(const TCOM_DebuggableAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggableAttributeT<_DebuggableAttribute> TCOM_DebuggableAttribute;

// *********************************************************************//
// DispIntf:  _DebuggableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {428E3627-2B1F-302C-A7E6-6388CD535E75}
// *********************************************************************//
template<class T>
class _DebuggableAttributeDispT : public TAutoDriver<_DebuggableAttribute>
{
public:
  _DebuggableAttributeDispT(){}

  _DebuggableAttributeDispT(_DebuggableAttribute *pintf)
  {
    TAutoDriver<_DebuggableAttribute>::Bind(pintf, false);
  }

  _DebuggableAttributeDispT(_DebuggableAttributePtr pintf)
  {
    TAutoDriver<_DebuggableAttribute>::Bind(pintf, true);
  }

  _DebuggableAttributeDispT& operator=(_DebuggableAttribute *pintf)
  {
    TAutoDriver<_DebuggableAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggableAttributeDispT& operator=(_DebuggableAttributePtr pintf)
  {
    TAutoDriver<_DebuggableAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggableAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggableAttribute);
  }


};
typedef _DebuggableAttributeDispT<_DebuggableAttribute> _DebuggableAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerBrowsableAttribute
// Interface: _DebuggerBrowsableAttribute
// *********************************************************************//
template <class T /* _DebuggerBrowsableAttribute */ >
class TCOM_DebuggerBrowsableAttributeT : public TComInterface<_DebuggerBrowsableAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerBrowsableAttributeT() {}
  TCOM_DebuggerBrowsableAttributeT(_DebuggerBrowsableAttribute *intf, bool addRef = false) : TComInterface<_DebuggerBrowsableAttribute>(intf, addRef) {}
  TCOM_DebuggerBrowsableAttributeT(const TCOM_DebuggerBrowsableAttributeT& src) : TComInterface<_DebuggerBrowsableAttribute>(src) {}
  TCOM_DebuggerBrowsableAttributeT& operator=(const TCOM_DebuggerBrowsableAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerBrowsableAttributeT<_DebuggerBrowsableAttribute> TCOM_DebuggerBrowsableAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerBrowsableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A3FC6319-7355-3D7D-8621-B598561152FC}
// *********************************************************************//
template<class T>
class _DebuggerBrowsableAttributeDispT : public TAutoDriver<_DebuggerBrowsableAttribute>
{
public:
  _DebuggerBrowsableAttributeDispT(){}

  _DebuggerBrowsableAttributeDispT(_DebuggerBrowsableAttribute *pintf)
  {
    TAutoDriver<_DebuggerBrowsableAttribute>::Bind(pintf, false);
  }

  _DebuggerBrowsableAttributeDispT(_DebuggerBrowsableAttributePtr pintf)
  {
    TAutoDriver<_DebuggerBrowsableAttribute>::Bind(pintf, true);
  }

  _DebuggerBrowsableAttributeDispT& operator=(_DebuggerBrowsableAttribute *pintf)
  {
    TAutoDriver<_DebuggerBrowsableAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerBrowsableAttributeDispT& operator=(_DebuggerBrowsableAttributePtr pintf)
  {
    TAutoDriver<_DebuggerBrowsableAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerBrowsableAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerBrowsableAttribute);
  }


};
typedef _DebuggerBrowsableAttributeDispT<_DebuggerBrowsableAttribute> _DebuggerBrowsableAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerTypeProxyAttribute
// Interface: _DebuggerTypeProxyAttribute
// *********************************************************************//
template <class T /* _DebuggerTypeProxyAttribute */ >
class TCOM_DebuggerTypeProxyAttributeT : public TComInterface<_DebuggerTypeProxyAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerTypeProxyAttributeT() {}
  TCOM_DebuggerTypeProxyAttributeT(_DebuggerTypeProxyAttribute *intf, bool addRef = false) : TComInterface<_DebuggerTypeProxyAttribute>(intf, addRef) {}
  TCOM_DebuggerTypeProxyAttributeT(const TCOM_DebuggerTypeProxyAttributeT& src) : TComInterface<_DebuggerTypeProxyAttribute>(src) {}
  TCOM_DebuggerTypeProxyAttributeT& operator=(const TCOM_DebuggerTypeProxyAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerTypeProxyAttributeT<_DebuggerTypeProxyAttribute> TCOM_DebuggerTypeProxyAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerTypeProxyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {404FAFDD-1E3F-3602-BFF6-755C00613ED8}
// *********************************************************************//
template<class T>
class _DebuggerTypeProxyAttributeDispT : public TAutoDriver<_DebuggerTypeProxyAttribute>
{
public:
  _DebuggerTypeProxyAttributeDispT(){}

  _DebuggerTypeProxyAttributeDispT(_DebuggerTypeProxyAttribute *pintf)
  {
    TAutoDriver<_DebuggerTypeProxyAttribute>::Bind(pintf, false);
  }

  _DebuggerTypeProxyAttributeDispT(_DebuggerTypeProxyAttributePtr pintf)
  {
    TAutoDriver<_DebuggerTypeProxyAttribute>::Bind(pintf, true);
  }

  _DebuggerTypeProxyAttributeDispT& operator=(_DebuggerTypeProxyAttribute *pintf)
  {
    TAutoDriver<_DebuggerTypeProxyAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerTypeProxyAttributeDispT& operator=(_DebuggerTypeProxyAttributePtr pintf)
  {
    TAutoDriver<_DebuggerTypeProxyAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerTypeProxyAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerTypeProxyAttribute);
  }


};
typedef _DebuggerTypeProxyAttributeDispT<_DebuggerTypeProxyAttribute> _DebuggerTypeProxyAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerDisplayAttribute
// Interface: _DebuggerDisplayAttribute
// *********************************************************************//
template <class T /* _DebuggerDisplayAttribute */ >
class TCOM_DebuggerDisplayAttributeT : public TComInterface<_DebuggerDisplayAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerDisplayAttributeT() {}
  TCOM_DebuggerDisplayAttributeT(_DebuggerDisplayAttribute *intf, bool addRef = false) : TComInterface<_DebuggerDisplayAttribute>(intf, addRef) {}
  TCOM_DebuggerDisplayAttributeT(const TCOM_DebuggerDisplayAttributeT& src) : TComInterface<_DebuggerDisplayAttribute>(src) {}
  TCOM_DebuggerDisplayAttributeT& operator=(const TCOM_DebuggerDisplayAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerDisplayAttributeT<_DebuggerDisplayAttribute> TCOM_DebuggerDisplayAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerDisplayAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {22FDABC0-EEC7-33E0-B4F2-F3B739E19A5E}
// *********************************************************************//
template<class T>
class _DebuggerDisplayAttributeDispT : public TAutoDriver<_DebuggerDisplayAttribute>
{
public:
  _DebuggerDisplayAttributeDispT(){}

  _DebuggerDisplayAttributeDispT(_DebuggerDisplayAttribute *pintf)
  {
    TAutoDriver<_DebuggerDisplayAttribute>::Bind(pintf, false);
  }

  _DebuggerDisplayAttributeDispT(_DebuggerDisplayAttributePtr pintf)
  {
    TAutoDriver<_DebuggerDisplayAttribute>::Bind(pintf, true);
  }

  _DebuggerDisplayAttributeDispT& operator=(_DebuggerDisplayAttribute *pintf)
  {
    TAutoDriver<_DebuggerDisplayAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerDisplayAttributeDispT& operator=(_DebuggerDisplayAttributePtr pintf)
  {
    TAutoDriver<_DebuggerDisplayAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerDisplayAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerDisplayAttribute);
  }


};
typedef _DebuggerDisplayAttributeDispT<_DebuggerDisplayAttribute> _DebuggerDisplayAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DebuggerVisualizerAttribute
// Interface: _DebuggerVisualizerAttribute
// *********************************************************************//
template <class T /* _DebuggerVisualizerAttribute */ >
class TCOM_DebuggerVisualizerAttributeT : public TComInterface<_DebuggerVisualizerAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DebuggerVisualizerAttributeT() {}
  TCOM_DebuggerVisualizerAttributeT(_DebuggerVisualizerAttribute *intf, bool addRef = false) : TComInterface<_DebuggerVisualizerAttribute>(intf, addRef) {}
  TCOM_DebuggerVisualizerAttributeT(const TCOM_DebuggerVisualizerAttributeT& src) : TComInterface<_DebuggerVisualizerAttribute>(src) {}
  TCOM_DebuggerVisualizerAttributeT& operator=(const TCOM_DebuggerVisualizerAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DebuggerVisualizerAttributeT<_DebuggerVisualizerAttribute> TCOM_DebuggerVisualizerAttribute;

// *********************************************************************//
// DispIntf:  _DebuggerVisualizerAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E19EA1A2-67FF-31A5-B95C-E0B753403F6B}
// *********************************************************************//
template<class T>
class _DebuggerVisualizerAttributeDispT : public TAutoDriver<_DebuggerVisualizerAttribute>
{
public:
  _DebuggerVisualizerAttributeDispT(){}

  _DebuggerVisualizerAttributeDispT(_DebuggerVisualizerAttribute *pintf)
  {
    TAutoDriver<_DebuggerVisualizerAttribute>::Bind(pintf, false);
  }

  _DebuggerVisualizerAttributeDispT(_DebuggerVisualizerAttributePtr pintf)
  {
    TAutoDriver<_DebuggerVisualizerAttribute>::Bind(pintf, true);
  }

  _DebuggerVisualizerAttributeDispT& operator=(_DebuggerVisualizerAttribute *pintf)
  {
    TAutoDriver<_DebuggerVisualizerAttribute>::Bind(pintf, false);
    return *this;
  }

  _DebuggerVisualizerAttributeDispT& operator=(_DebuggerVisualizerAttributePtr pintf)
  {
    TAutoDriver<_DebuggerVisualizerAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DebuggerVisualizerAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DebuggerVisualizerAttribute);
  }


};
typedef _DebuggerVisualizerAttributeDispT<_DebuggerVisualizerAttribute> _DebuggerVisualizerAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_StackTrace
// Interface: _StackTrace
// *********************************************************************//
template <class T /* _StackTrace */ >
class TCOM_StackTraceT : public TComInterface<_StackTrace>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StackTraceT() {}
  TCOM_StackTraceT(_StackTrace *intf, bool addRef = false) : TComInterface<_StackTrace>(intf, addRef) {}
  TCOM_StackTraceT(const TCOM_StackTraceT& src) : TComInterface<_StackTrace>(src) {}
  TCOM_StackTraceT& operator=(const TCOM_StackTraceT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StackTraceT<_StackTrace> TCOM_StackTrace;

// *********************************************************************//
// DispIntf:  _StackTrace
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9A2669EC-FF84-3726-89A0-663A3EF3B5CD}
// *********************************************************************//
template<class T>
class _StackTraceDispT : public TAutoDriver<_StackTrace>
{
public:
  _StackTraceDispT(){}

  _StackTraceDispT(_StackTrace *pintf)
  {
    TAutoDriver<_StackTrace>::Bind(pintf, false);
  }

  _StackTraceDispT(_StackTracePtr pintf)
  {
    TAutoDriver<_StackTrace>::Bind(pintf, true);
  }

  _StackTraceDispT& operator=(_StackTrace *pintf)
  {
    TAutoDriver<_StackTrace>::Bind(pintf, false);
    return *this;
  }

  _StackTraceDispT& operator=(_StackTracePtr pintf)
  {
    TAutoDriver<_StackTrace>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StackTrace));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StackTrace);
  }


};
typedef _StackTraceDispT<_StackTrace> _StackTraceDisp;

// *********************************************************************//
// SmartIntf: TCOM_StackFrame
// Interface: _StackFrame
// *********************************************************************//
template <class T /* _StackFrame */ >
class TCOM_StackFrameT : public TComInterface<_StackFrame>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StackFrameT() {}
  TCOM_StackFrameT(_StackFrame *intf, bool addRef = false) : TComInterface<_StackFrame>(intf, addRef) {}
  TCOM_StackFrameT(const TCOM_StackFrameT& src) : TComInterface<_StackFrame>(src) {}
  TCOM_StackFrameT& operator=(const TCOM_StackFrameT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StackFrameT<_StackFrame> TCOM_StackFrame;

// *********************************************************************//
// DispIntf:  _StackFrame
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0E9B8E47-CA67-38B6-B9DB-2C42EE757B08}
// *********************************************************************//
template<class T>
class _StackFrameDispT : public TAutoDriver<_StackFrame>
{
public:
  _StackFrameDispT(){}

  _StackFrameDispT(_StackFrame *pintf)
  {
    TAutoDriver<_StackFrame>::Bind(pintf, false);
  }

  _StackFrameDispT(_StackFramePtr pintf)
  {
    TAutoDriver<_StackFrame>::Bind(pintf, true);
  }

  _StackFrameDispT& operator=(_StackFrame *pintf)
  {
    TAutoDriver<_StackFrame>::Bind(pintf, false);
    return *this;
  }

  _StackFrameDispT& operator=(_StackFramePtr pintf)
  {
    TAutoDriver<_StackFrame>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StackFrame));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StackFrame);
  }


};
typedef _StackFrameDispT<_StackFrame> _StackFrameDisp;

typedef TComInterface<ISymbolBinder>  TCOMISymbolBinder;

// *********************************************************************//
// DispIntf:  ISymbolBinder
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {20808ADC-CC01-3F3A-8F09-ED12940FC212}
// *********************************************************************//
template<class T>
class ISymbolBinderDispT : public TAutoDriver<ISymbolBinder>
{
public:
  ISymbolBinderDispT(){}

  ISymbolBinderDispT(ISymbolBinder *pintf)
  {
    TAutoDriver<ISymbolBinder>::Bind(pintf, false);
  }

  ISymbolBinderDispT(ISymbolBinderPtr pintf)
  {
    TAutoDriver<ISymbolBinder>::Bind(pintf, true);
  }

  ISymbolBinderDispT& operator=(ISymbolBinder *pintf)
  {
    TAutoDriver<ISymbolBinder>::Bind(pintf, false);
    return *this;
  }

  ISymbolBinderDispT& operator=(ISymbolBinderPtr pintf)
  {
    TAutoDriver<ISymbolBinder>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                       BSTR searchPath/*[in]*/, 
                                       Mscorlib_tlb::ISymbolReaderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolReaderPtr __fastcall GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                                      BSTR searchPath/*[in]*/);

};
typedef ISymbolBinderDispT<ISymbolBinder> ISymbolBinderDisp;

typedef TComInterface<ISymbolBinder1>  TCOMISymbolBinder1;

// *********************************************************************//
// DispIntf:  ISymbolBinder1
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {027C036A-4052-3821-85DE-B53319DF1211}
// *********************************************************************//
template<class T>
class ISymbolBinder1DispT : public TAutoDriver<ISymbolBinder1>
{
public:
  ISymbolBinder1DispT(){}

  ISymbolBinder1DispT(ISymbolBinder1 *pintf)
  {
    TAutoDriver<ISymbolBinder1>::Bind(pintf, false);
  }

  ISymbolBinder1DispT(ISymbolBinder1Ptr pintf)
  {
    TAutoDriver<ISymbolBinder1>::Bind(pintf, true);
  }

  ISymbolBinder1DispT& operator=(ISymbolBinder1 *pintf)
  {
    TAutoDriver<ISymbolBinder1>::Bind(pintf, false);
    return *this;
  }

  ISymbolBinder1DispT& operator=(ISymbolBinder1Ptr pintf)
  {
    TAutoDriver<ISymbolBinder1>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                       BSTR searchPath/*[in]*/, 
                                       Mscorlib_tlb::ISymbolReaderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolReaderPtr __fastcall GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                                      BSTR searchPath/*[in]*/);

};
typedef ISymbolBinder1DispT<ISymbolBinder1> ISymbolBinder1Disp;

typedef TComInterface<ISymbolDocument>  TCOMISymbolDocument;

// *********************************************************************//
// DispIntf:  ISymbolDocument
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1C32F012-2684-3EFE-8D50-9C2973ACC00B}
// *********************************************************************//
template<class T>
class ISymbolDocumentDispT : public TAutoDriver<ISymbolDocument>
{
public:
  ISymbolDocumentDispT(){}

  ISymbolDocumentDispT(ISymbolDocument *pintf)
  {
    TAutoDriver<ISymbolDocument>::Bind(pintf, false);
  }

  ISymbolDocumentDispT(ISymbolDocumentPtr pintf)
  {
    TAutoDriver<ISymbolDocument>::Bind(pintf, true);
  }

  ISymbolDocumentDispT& operator=(ISymbolDocument *pintf)
  {
    TAutoDriver<ISymbolDocument>::Bind(pintf, false);
    return *this;
  }

  ISymbolDocumentDispT& operator=(ISymbolDocumentPtr pintf)
  {
    TAutoDriver<ISymbolDocument>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Url(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Url(void);
  HRESULT         __fastcall get_DocumentType(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall get_Language(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall get_LanguageVendor(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall get_CheckSumAlgorithmId(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall GetCheckSum(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCheckSum(void);
  HRESULT         __fastcall FindClosestLine(long line/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall FindClosestLine(long line/*[in]*/);
  HRESULT         __fastcall get_HasEmbeddedSource(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_HasEmbeddedSource(void);
  HRESULT         __fastcall get_SourceLength(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_SourceLength(void);
  HRESULT         __fastcall GetSourceRange(long startLine/*[in]*/, long startColumn/*[in]*/, 
                                            long endLine/*[in]*/, long endColumn/*[in]*/, 
                                            LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetSourceRange(long startLine/*[in]*/, long startColumn/*[in]*/, 
                                            long endLine/*[in]*/, long endColumn/*[in]*/);

  __property   BSTR            Url = {read = get_Url};
  __property   TOLEBOOL        HasEmbeddedSource = {read = get_HasEmbeddedSource};
  __property   long            SourceLength = {read = get_SourceLength};
};
typedef ISymbolDocumentDispT<ISymbolDocument> ISymbolDocumentDisp;

typedef TComInterface<ISymbolDocumentWriter>  TCOMISymbolDocumentWriter;

// *********************************************************************//
// DispIntf:  ISymbolDocumentWriter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FA682F24-3A3C-390D-B8A2-96F1106F4B37}
// *********************************************************************//
template<class T>
class ISymbolDocumentWriterDispT : public TAutoDriver<ISymbolDocumentWriter>
{
public:
  ISymbolDocumentWriterDispT(){}

  ISymbolDocumentWriterDispT(ISymbolDocumentWriter *pintf)
  {
    TAutoDriver<ISymbolDocumentWriter>::Bind(pintf, false);
  }

  ISymbolDocumentWriterDispT(ISymbolDocumentWriterPtr pintf)
  {
    TAutoDriver<ISymbolDocumentWriter>::Bind(pintf, true);
  }

  ISymbolDocumentWriterDispT& operator=(ISymbolDocumentWriter *pintf)
  {
    TAutoDriver<ISymbolDocumentWriter>::Bind(pintf, false);
    return *this;
  }

  ISymbolDocumentWriterDispT& operator=(ISymbolDocumentWriterPtr pintf)
  {
    TAutoDriver<ISymbolDocumentWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall SetSource(LPSAFEARRAY Source/*[in]*/);
  HRESULT         __fastcall SetCheckSum(/*AUTO_PARAM_ERROR(TGUID algorithmId)*/ TVariant&  algorithmId
                                         , LPSAFEARRAY checkSum/*[in]*/);

};
typedef ISymbolDocumentWriterDispT<ISymbolDocumentWriter> ISymbolDocumentWriterDisp;

typedef TComInterface<ISymbolMethod>  TCOMISymbolMethod;

// *********************************************************************//
// DispIntf:  ISymbolMethod
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {25C72EB0-E437-3F17-946D-3B72A3ACFF37}
// *********************************************************************//
template<class T>
class ISymbolMethodDispT : public TAutoDriver<ISymbolMethod>
{
public:
  ISymbolMethodDispT(){}

  ISymbolMethodDispT(ISymbolMethod *pintf)
  {
    TAutoDriver<ISymbolMethod>::Bind(pintf, false);
  }

  ISymbolMethodDispT(ISymbolMethodPtr pintf)
  {
    TAutoDriver<ISymbolMethod>::Bind(pintf, true);
  }

  ISymbolMethodDispT& operator=(ISymbolMethod *pintf)
  {
    TAutoDriver<ISymbolMethod>::Bind(pintf, false);
    return *this;
  }

  ISymbolMethodDispT& operator=(ISymbolMethodPtr pintf)
  {
    TAutoDriver<ISymbolMethod>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Token(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall get_SequencePointCount(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_SequencePointCount(void);
  HRESULT         __fastcall GetSequencePoints(LPSAFEARRAY offsets/*[in]*/, 
                                               LPSAFEARRAY documents/*[in]*/, 
                                               LPSAFEARRAY lines/*[in]*/, 
                                               LPSAFEARRAY columns/*[in]*/, 
                                               LPSAFEARRAY endLines/*[in]*/, 
                                               LPSAFEARRAY endColumns/*[in]*/);
  HRESULT         __fastcall get_RootScope(Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolScopePtr __fastcall get_RootScope(void);
  HRESULT         __fastcall GetScope(long offset/*[in]*/, 
                                      Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolScopePtr __fastcall GetScope(long offset/*[in]*/);
  HRESULT         __fastcall GetOffset(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                       long line/*[in]*/, long column/*[in]*/, 
                                       long* pRetVal/*[out,retval]*/);
  long            __fastcall GetOffset(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                       long line/*[in]*/, long column/*[in]*/);
  HRESULT         __fastcall GetRanges(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                       long line/*[in]*/, long column/*[in]*/, 
                                       LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetRanges(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                       long line/*[in]*/, long column/*[in]*/);
  HRESULT         __fastcall GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetParameters(void);
  HRESULT         __fastcall GetNamespace(Mscorlib_tlb::ISymbolNamespacePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolNamespacePtr __fastcall GetNamespace(void);
  HRESULT         __fastcall GetSourceStartEnd(LPSAFEARRAY docs/*[in]*/, LPSAFEARRAY lines/*[in]*/, 
                                               LPSAFEARRAY columns/*[in]*/, 
                                               TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall GetSourceStartEnd(LPSAFEARRAY docs/*[in]*/, LPSAFEARRAY lines/*[in]*/, 
                                               LPSAFEARRAY columns/*[in]*/);

  __property   long            SequencePointCount = {read = get_SequencePointCount};
  __property   Mscorlib_tlb::ISymbolScopePtr RootScope = {read = get_RootScope};
};
typedef ISymbolMethodDispT<ISymbolMethod> ISymbolMethodDisp;

typedef TComInterface<ISymbolNamespace>  TCOMISymbolNamespace;

// *********************************************************************//
// DispIntf:  ISymbolNamespace
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {23ED2454-6899-3C28-BAB7-6EC86683964A}
// *********************************************************************//
template<class T>
class ISymbolNamespaceDispT : public TAutoDriver<ISymbolNamespace>
{
public:
  ISymbolNamespaceDispT(){}

  ISymbolNamespaceDispT(ISymbolNamespace *pintf)
  {
    TAutoDriver<ISymbolNamespace>::Bind(pintf, false);
  }

  ISymbolNamespaceDispT(ISymbolNamespacePtr pintf)
  {
    TAutoDriver<ISymbolNamespace>::Bind(pintf, true);
  }

  ISymbolNamespaceDispT& operator=(ISymbolNamespace *pintf)
  {
    TAutoDriver<ISymbolNamespace>::Bind(pintf, false);
    return *this;
  }

  ISymbolNamespaceDispT& operator=(ISymbolNamespacePtr pintf)
  {
    TAutoDriver<ISymbolNamespace>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetNamespaces(void);
  HRESULT         __fastcall GetVariables(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetVariables(void);

  __property   BSTR            name = {read = get_name};
};
typedef ISymbolNamespaceDispT<ISymbolNamespace> ISymbolNamespaceDisp;

typedef TComInterface<ISymbolReader>  TCOMISymbolReader;

// *********************************************************************//
// DispIntf:  ISymbolReader
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E809A5F1-D3D7-3144-9BEF-FE8AC0364699}
// *********************************************************************//
template<class T>
class ISymbolReaderDispT : public TAutoDriver<ISymbolReader>
{
public:
  ISymbolReaderDispT(){}

  ISymbolReaderDispT(ISymbolReader *pintf)
  {
    TAutoDriver<ISymbolReader>::Bind(pintf, false);
  }

  ISymbolReaderDispT(ISymbolReaderPtr pintf)
  {
    TAutoDriver<ISymbolReader>::Bind(pintf, true);
  }

  ISymbolReaderDispT& operator=(ISymbolReader *pintf)
  {
    TAutoDriver<ISymbolReader>::Bind(pintf, false);
    return *this;
  }

  ISymbolReaderDispT& operator=(ISymbolReaderPtr pintf)
  {
    TAutoDriver<ISymbolReader>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetDocument(BSTR Url/*[in]*/, 
                                         /*AUTO_PARAM_ERROR(TGUID Language)*/ TVariant&  Language, 
                                         /*AUTO_PARAM_ERROR(TGUID LanguageVendor)*/ TVariant&  LanguageVendor
                                         , 
                                         /*AUTO_PARAM_ERROR(TGUID DocumentType)*/ TVariant&  DocumentType
                                         , Mscorlib_tlb::ISymbolDocumentPtr* pRetVal/*[out,retval]*/);
  HRESULT         __fastcall GetDocuments(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetDocuments(void);
  HRESULT         __fastcall get_UserEntryPoint(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall GetMethod(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken Method)*/ TVariant&  Method
                                       , Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/);
  HRESULT         __fastcall GetMethod_2(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken Method)*/ TVariant&  Method
                                         , long Version/*[in]*/, 
                                         Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/);
  HRESULT         __fastcall GetVariables(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                          , LPSAFEARRAY* pRetVal/*[out,retval]*/);
  HRESULT         __fastcall GetGlobalVariables(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetGlobalVariables(void);
  HRESULT         __fastcall GetMethodFromDocumentPosition(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/
                                                           , long line/*[in]*/, long column/*[in]*/
                                                           , 
                                                           Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolMethodPtr __fastcall GetMethodFromDocumentPosition(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                                                          long line/*[in]*/, 
                                                                          long column/*[in]*/);
  HRESULT         __fastcall GetSymAttribute(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                             , BSTR name/*[in]*/, 
                                             LPSAFEARRAY* pRetVal/*[out,retval]*/);
  HRESULT         __fastcall GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetNamespaces(void);

};
typedef ISymbolReaderDispT<ISymbolReader> ISymbolReaderDisp;

typedef TComInterface<ISymbolScope>  TCOMISymbolScope;

// *********************************************************************//
// DispIntf:  ISymbolScope
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1CEE3A11-01AE-3244-A939-4972FC9703EF}
// *********************************************************************//
template<class T>
class ISymbolScopeDispT : public TAutoDriver<ISymbolScope>
{
public:
  ISymbolScopeDispT(){}

  ISymbolScopeDispT(ISymbolScope *pintf)
  {
    TAutoDriver<ISymbolScope>::Bind(pintf, false);
  }

  ISymbolScopeDispT(ISymbolScopePtr pintf)
  {
    TAutoDriver<ISymbolScope>::Bind(pintf, true);
  }

  ISymbolScopeDispT& operator=(ISymbolScope *pintf)
  {
    TAutoDriver<ISymbolScope>::Bind(pintf, false);
    return *this;
  }

  ISymbolScopeDispT& operator=(ISymbolScopePtr pintf)
  {
    TAutoDriver<ISymbolScope>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Method(Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolMethodPtr __fastcall get_Method(void);
  HRESULT         __fastcall get_parent(Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISymbolScopePtr __fastcall get_parent(void);
  HRESULT         __fastcall GetChildren(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetChildren(void);
  HRESULT         __fastcall get_StartOffset(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_StartOffset(void);
  HRESULT         __fastcall get_EndOffset(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_EndOffset(void);
  HRESULT         __fastcall GetLocals(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetLocals(void);
  HRESULT         __fastcall GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetNamespaces(void);

  __property   Mscorlib_tlb::ISymbolMethodPtr Method = {read = get_Method};
  __property   Mscorlib_tlb::ISymbolScopePtr parent = {read = get_parent};
  __property   long            StartOffset = {read = get_StartOffset};
  __property   long            EndOffset = {read = get_EndOffset};
};
typedef ISymbolScopeDispT<ISymbolScope> ISymbolScopeDisp;

typedef TComInterface<ISymbolVariable>  TCOMISymbolVariable;

// *********************************************************************//
// DispIntf:  ISymbolVariable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4042BD4D-B5AB-30E8-919B-14910687BAAE}
// *********************************************************************//
template<class T>
class ISymbolVariableDispT : public TAutoDriver<ISymbolVariable>
{
public:
  ISymbolVariableDispT(){}

  ISymbolVariableDispT(ISymbolVariable *pintf)
  {
    TAutoDriver<ISymbolVariable>::Bind(pintf, false);
  }

  ISymbolVariableDispT(ISymbolVariablePtr pintf)
  {
    TAutoDriver<ISymbolVariable>::Bind(pintf, true);
  }

  ISymbolVariableDispT& operator=(ISymbolVariable *pintf)
  {
    TAutoDriver<ISymbolVariable>::Bind(pintf, false);
    return *this;
  }

  ISymbolVariableDispT& operator=(ISymbolVariablePtr pintf)
  {
    TAutoDriver<ISymbolVariable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_Attributes(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Attributes(void);
  HRESULT         __fastcall GetSignature(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetSignature(void);
  HRESULT         __fastcall get_AddressKind(Mscorlib_tlb::SymAddressKind* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::SymAddressKind __fastcall get_AddressKind(void);
  HRESULT         __fastcall get_AddressField1(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_AddressField1(void);
  HRESULT         __fastcall get_AddressField2(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_AddressField2(void);
  HRESULT         __fastcall get_AddressField3(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_AddressField3(void);
  HRESULT         __fastcall get_StartOffset(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_StartOffset(void);
  HRESULT         __fastcall get_EndOffset(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_EndOffset(void);

  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::SymAddressKind AddressKind = {read = get_AddressKind};
  __property   long            AddressField1 = {read = get_AddressField1};
  __property   long            AddressField2 = {read = get_AddressField2};
  __property   long            AddressField3 = {read = get_AddressField3};
  __property   long            StartOffset = {read = get_StartOffset};
  __property   long            EndOffset = {read = get_EndOffset};
};
typedef ISymbolVariableDispT<ISymbolVariable> ISymbolVariableDisp;

typedef TComInterface<ISymbolWriter>  TCOMISymbolWriter;

// *********************************************************************//
// DispIntf:  ISymbolWriter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {DA295A1B-C5BD-3B34-8ACD-1D7D334FFB7F}
// *********************************************************************//
template<class T>
class ISymbolWriterDispT : public TAutoDriver<ISymbolWriter>
{
public:
  ISymbolWriterDispT(){}

  ISymbolWriterDispT(ISymbolWriter *pintf)
  {
    TAutoDriver<ISymbolWriter>::Bind(pintf, false);
  }

  ISymbolWriterDispT(ISymbolWriterPtr pintf)
  {
    TAutoDriver<ISymbolWriter>::Bind(pintf, true);
  }

  ISymbolWriterDispT& operator=(ISymbolWriter *pintf)
  {
    TAutoDriver<ISymbolWriter>::Bind(pintf, false);
    return *this;
  }

  ISymbolWriterDispT& operator=(ISymbolWriterPtr pintf)
  {
    TAutoDriver<ISymbolWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Initialize(long emitter/*[in]*/, BSTR filename/*[in]*/, 
                                        TOLEBOOL fFullBuild/*[in]*/);
  HRESULT         __fastcall DefineDocument(BSTR Url/*[in]*/, 
                                            /*AUTO_PARAM_ERROR(TGUID Language)*/ TVariant&  Language
                                            , 
                                            /*AUTO_PARAM_ERROR(TGUID LanguageVendor)*/ TVariant&  LanguageVendor
                                            , 
                                            /*AUTO_PARAM_ERROR(TGUID DocumentType)*/ TVariant&  DocumentType
                                            , 
                                            Mscorlib_tlb::ISymbolDocumentWriterPtr* pRetVal/*[out,retval]*/);
  HRESULT         __fastcall SetUserEntryPoint(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken entryMethod)*/ TVariant&  entryMethod);
  HRESULT         __fastcall OpenMethod(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken Method)*/ TVariant&  Method);
  HRESULT         __fastcall CloseMethod();
  HRESULT         __fastcall DefineSequencePoints(Mscorlib_tlb::ISymbolDocumentWriterPtr document/*[in]*/
                                                  , LPSAFEARRAY offsets/*[in]*/, 
                                                  LPSAFEARRAY lines/*[in]*/, 
                                                  LPSAFEARRAY columns/*[in]*/, 
                                                  LPSAFEARRAY endLines/*[in]*/, 
                                                  LPSAFEARRAY endColumns/*[in]*/);
  HRESULT         __fastcall OpenScope(long StartOffset/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall OpenScope(long StartOffset/*[in]*/);
  HRESULT         __fastcall CloseScope(long EndOffset/*[in]*/);
  HRESULT         __fastcall SetScopeRange(long scopeID/*[in]*/, long StartOffset/*[in]*/, 
                                           long EndOffset/*[in]*/);
  HRESULT         __fastcall DefineLocalVariable(BSTR name/*[in]*/, 
                                                 Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                                 LPSAFEARRAY signature/*[in]*/, 
                                                 Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                                 long addr1/*[in]*/, long addr2/*[in]*/, 
                                                 long addr3/*[in]*/, long StartOffset/*[in]*/, 
                                                 long EndOffset/*[in]*/);
  HRESULT         __fastcall DefineParameter(BSTR name/*[in]*/, 
                                             Mscorlib_tlb::ParameterAttributes Attributes/*[in]*/, 
                                             long sequence/*[in]*/, 
                                             Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                             long addr1/*[in]*/, long addr2/*[in]*/, 
                                             long addr3/*[in]*/);
  HRESULT         __fastcall DefineField(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                         , BSTR name/*[in]*/, 
                                         Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                         LPSAFEARRAY signature/*[in]*/, 
                                         Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                         long addr1/*[in]*/, long addr2/*[in]*/, long addr3/*[in]*/);
  HRESULT         __fastcall DefineGlobalVariable(BSTR name/*[in]*/, 
                                                  Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                                  LPSAFEARRAY signature/*[in]*/, 
                                                  Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                                  long addr1/*[in]*/, long addr2/*[in]*/, 
                                                  long addr3/*[in]*/);
  HRESULT         __fastcall Close();
  HRESULT         __fastcall SetSymAttribute(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                             , BSTR name/*[in]*/, LPSAFEARRAY data/*[in]*/);
  HRESULT         __fastcall OpenNamespace(BSTR name/*[in]*/);
  HRESULT         __fastcall CloseNamespace();
  HRESULT         __fastcall UsingNamespace(BSTR FullName/*[in]*/);
  HRESULT         __fastcall SetMethodSourceRange(Mscorlib_tlb::ISymbolDocumentWriterPtr startDoc/*[in]*/
                                                  , long startLine/*[in]*/, long startColumn/*[in]*/
                                                  , 
                                                  Mscorlib_tlb::ISymbolDocumentWriterPtr endDoc/*[in]*/
                                                  , long endLine/*[in]*/, long endColumn/*[in]*/);
  HRESULT         __fastcall SetUnderlyingWriter(long underlyingWriter/*[in]*/);

};
typedef ISymbolWriterDispT<ISymbolWriter> ISymbolWriterDisp;

// *********************************************************************//
// SmartIntf: TCOM_SymDocumentType
// Interface: _SymDocumentType
// *********************************************************************//
template <class T /* _SymDocumentType */ >
class TCOM_SymDocumentTypeT : public TComInterface<_SymDocumentType>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SymDocumentTypeT() {}
  TCOM_SymDocumentTypeT(_SymDocumentType *intf, bool addRef = false) : TComInterface<_SymDocumentType>(intf, addRef) {}
  TCOM_SymDocumentTypeT(const TCOM_SymDocumentTypeT& src) : TComInterface<_SymDocumentType>(src) {}
  TCOM_SymDocumentTypeT& operator=(const TCOM_SymDocumentTypeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SymDocumentTypeT<_SymDocumentType> TCOM_SymDocumentType;

// *********************************************************************//
// DispIntf:  _SymDocumentType
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5141D79C-7B01-37DA-B7E9-53E5A271BAF8}
// *********************************************************************//
template<class T>
class _SymDocumentTypeDispT : public TAutoDriver<_SymDocumentType>
{
public:
  _SymDocumentTypeDispT(){}

  _SymDocumentTypeDispT(_SymDocumentType *pintf)
  {
    TAutoDriver<_SymDocumentType>::Bind(pintf, false);
  }

  _SymDocumentTypeDispT(_SymDocumentTypePtr pintf)
  {
    TAutoDriver<_SymDocumentType>::Bind(pintf, true);
  }

  _SymDocumentTypeDispT& operator=(_SymDocumentType *pintf)
  {
    TAutoDriver<_SymDocumentType>::Bind(pintf, false);
    return *this;
  }

  _SymDocumentTypeDispT& operator=(_SymDocumentTypePtr pintf)
  {
    TAutoDriver<_SymDocumentType>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SymDocumentType));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SymDocumentType);
  }


};
typedef _SymDocumentTypeDispT<_SymDocumentType> _SymDocumentTypeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SymLanguageType
// Interface: _SymLanguageType
// *********************************************************************//
template <class T /* _SymLanguageType */ >
class TCOM_SymLanguageTypeT : public TComInterface<_SymLanguageType>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SymLanguageTypeT() {}
  TCOM_SymLanguageTypeT(_SymLanguageType *intf, bool addRef = false) : TComInterface<_SymLanguageType>(intf, addRef) {}
  TCOM_SymLanguageTypeT(const TCOM_SymLanguageTypeT& src) : TComInterface<_SymLanguageType>(src) {}
  TCOM_SymLanguageTypeT& operator=(const TCOM_SymLanguageTypeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SymLanguageTypeT<_SymLanguageType> TCOM_SymLanguageType;

// *********************************************************************//
// DispIntf:  _SymLanguageType
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {22BB8891-FD21-313D-92E4-8A892DC0B39C}
// *********************************************************************//
template<class T>
class _SymLanguageTypeDispT : public TAutoDriver<_SymLanguageType>
{
public:
  _SymLanguageTypeDispT(){}

  _SymLanguageTypeDispT(_SymLanguageType *pintf)
  {
    TAutoDriver<_SymLanguageType>::Bind(pintf, false);
  }

  _SymLanguageTypeDispT(_SymLanguageTypePtr pintf)
  {
    TAutoDriver<_SymLanguageType>::Bind(pintf, true);
  }

  _SymLanguageTypeDispT& operator=(_SymLanguageType *pintf)
  {
    TAutoDriver<_SymLanguageType>::Bind(pintf, false);
    return *this;
  }

  _SymLanguageTypeDispT& operator=(_SymLanguageTypePtr pintf)
  {
    TAutoDriver<_SymLanguageType>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SymLanguageType));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SymLanguageType);
  }


};
typedef _SymLanguageTypeDispT<_SymLanguageType> _SymLanguageTypeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SymLanguageVendor
// Interface: _SymLanguageVendor
// *********************************************************************//
template <class T /* _SymLanguageVendor */ >
class TCOM_SymLanguageVendorT : public TComInterface<_SymLanguageVendor>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SymLanguageVendorT() {}
  TCOM_SymLanguageVendorT(_SymLanguageVendor *intf, bool addRef = false) : TComInterface<_SymLanguageVendor>(intf, addRef) {}
  TCOM_SymLanguageVendorT(const TCOM_SymLanguageVendorT& src) : TComInterface<_SymLanguageVendor>(src) {}
  TCOM_SymLanguageVendorT& operator=(const TCOM_SymLanguageVendorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SymLanguageVendorT<_SymLanguageVendor> TCOM_SymLanguageVendor;

// *********************************************************************//
// DispIntf:  _SymLanguageVendor
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {01364E7B-C983-3651-B7D8-FD1B64FC0E00}
// *********************************************************************//
template<class T>
class _SymLanguageVendorDispT : public TAutoDriver<_SymLanguageVendor>
{
public:
  _SymLanguageVendorDispT(){}

  _SymLanguageVendorDispT(_SymLanguageVendor *pintf)
  {
    TAutoDriver<_SymLanguageVendor>::Bind(pintf, false);
  }

  _SymLanguageVendorDispT(_SymLanguageVendorPtr pintf)
  {
    TAutoDriver<_SymLanguageVendor>::Bind(pintf, true);
  }

  _SymLanguageVendorDispT& operator=(_SymLanguageVendor *pintf)
  {
    TAutoDriver<_SymLanguageVendor>::Bind(pintf, false);
    return *this;
  }

  _SymLanguageVendorDispT& operator=(_SymLanguageVendorPtr pintf)
  {
    TAutoDriver<_SymLanguageVendor>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SymLanguageVendor));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SymLanguageVendor);
  }


};
typedef _SymLanguageVendorDispT<_SymLanguageVendor> _SymLanguageVendorDisp;

// *********************************************************************//
// SmartIntf: TCOM_AmbiguousMatchException
// Interface: _AmbiguousMatchException
// *********************************************************************//
template <class T /* _AmbiguousMatchException */ >
class TCOM_AmbiguousMatchExceptionT : public TComInterface<_AmbiguousMatchException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AmbiguousMatchExceptionT() {}
  TCOM_AmbiguousMatchExceptionT(_AmbiguousMatchException *intf, bool addRef = false) : TComInterface<_AmbiguousMatchException>(intf, addRef) {}
  TCOM_AmbiguousMatchExceptionT(const TCOM_AmbiguousMatchExceptionT& src) : TComInterface<_AmbiguousMatchException>(src) {}
  TCOM_AmbiguousMatchExceptionT& operator=(const TCOM_AmbiguousMatchExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AmbiguousMatchExceptionT<_AmbiguousMatchException> TCOM_AmbiguousMatchException;

// *********************************************************************//
// DispIntf:  _AmbiguousMatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {81AA0D59-C3B1-36A3-B2E7-054928FBFC1A}
// *********************************************************************//
template<class T>
class _AmbiguousMatchExceptionDispT : public TAutoDriver<_AmbiguousMatchException>
{
public:
  _AmbiguousMatchExceptionDispT(){}

  _AmbiguousMatchExceptionDispT(_AmbiguousMatchException *pintf)
  {
    TAutoDriver<_AmbiguousMatchException>::Bind(pintf, false);
  }

  _AmbiguousMatchExceptionDispT(_AmbiguousMatchExceptionPtr pintf)
  {
    TAutoDriver<_AmbiguousMatchException>::Bind(pintf, true);
  }

  _AmbiguousMatchExceptionDispT& operator=(_AmbiguousMatchException *pintf)
  {
    TAutoDriver<_AmbiguousMatchException>::Bind(pintf, false);
    return *this;
  }

  _AmbiguousMatchExceptionDispT& operator=(_AmbiguousMatchExceptionPtr pintf)
  {
    TAutoDriver<_AmbiguousMatchException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AmbiguousMatchException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AmbiguousMatchException);
  }


};
typedef _AmbiguousMatchExceptionDispT<_AmbiguousMatchException> _AmbiguousMatchExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ModuleResolveEventHandler
// Interface: _ModuleResolveEventHandler
// *********************************************************************//
template <class T /* _ModuleResolveEventHandler */ >
class TCOM_ModuleResolveEventHandlerT : public TComInterface<_ModuleResolveEventHandler>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ModuleResolveEventHandlerT() {}
  TCOM_ModuleResolveEventHandlerT(_ModuleResolveEventHandler *intf, bool addRef = false) : TComInterface<_ModuleResolveEventHandler>(intf, addRef) {}
  TCOM_ModuleResolveEventHandlerT(const TCOM_ModuleResolveEventHandlerT& src) : TComInterface<_ModuleResolveEventHandler>(src) {}
  TCOM_ModuleResolveEventHandlerT& operator=(const TCOM_ModuleResolveEventHandlerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ModuleResolveEventHandlerT<_ModuleResolveEventHandler> TCOM_ModuleResolveEventHandler;

// *********************************************************************//
// DispIntf:  _ModuleResolveEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {05532E88-E0F2-3263-9B57-805AC6B6BB72}
// *********************************************************************//
template<class T>
class _ModuleResolveEventHandlerDispT : public TAutoDriver<_ModuleResolveEventHandler>
{
public:
  _ModuleResolveEventHandlerDispT(){}

  _ModuleResolveEventHandlerDispT(_ModuleResolveEventHandler *pintf)
  {
    TAutoDriver<_ModuleResolveEventHandler>::Bind(pintf, false);
  }

  _ModuleResolveEventHandlerDispT(_ModuleResolveEventHandlerPtr pintf)
  {
    TAutoDriver<_ModuleResolveEventHandler>::Bind(pintf, true);
  }

  _ModuleResolveEventHandlerDispT& operator=(_ModuleResolveEventHandler *pintf)
  {
    TAutoDriver<_ModuleResolveEventHandler>::Bind(pintf, false);
    return *this;
  }

  _ModuleResolveEventHandlerDispT& operator=(_ModuleResolveEventHandlerPtr pintf)
  {
    TAutoDriver<_ModuleResolveEventHandler>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ModuleResolveEventHandler));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ModuleResolveEventHandler);
  }


};
typedef _ModuleResolveEventHandlerDispT<_ModuleResolveEventHandler> _ModuleResolveEventHandlerDisp;

// *********************************************************************//
// SmartIntf: TCOM_Assembly
// Interface: _Assembly
// *********************************************************************//
template <class T /* _Assembly */ >
class TCOM_AssemblyT : public TComInterface<_Assembly>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyT() {}
  TCOM_AssemblyT(_Assembly *intf, bool addRef = false) : TComInterface<_Assembly>(intf, addRef) {}
  TCOM_AssemblyT(const TCOM_AssemblyT& src) : TComInterface<_Assembly>(src) {}
  TCOM_AssemblyT& operator=(const TCOM_AssemblyT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_CodeBase(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_CodeBase(void);
  HRESULT         __fastcall get_EscapedCodeBase(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_EscapedCodeBase(void);
  HRESULT         __fastcall GetName(Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyNamePtr __fastcall GetName(void);
  HRESULT         __fastcall GetName_2(TOLEBOOL copiedName/*[in]*/, 
                                       Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyNamePtr __fastcall GetName_2(TOLEBOOL copiedName/*[in]*/);
  HRESULT         __fastcall get_FullName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_FullName(void);
  HRESULT         __fastcall get_EntryPoint(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall get_EntryPoint(void);
  HRESULT         __fastcall GetType_2(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                       Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/);
  HRESULT         __fastcall GetExportedTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetExportedTypes(void);
  HRESULT         __fastcall GetTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetTypes(void);
  HRESULT         __fastcall GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                       BSTR name/*[in]*/, 
                                                       Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_StreamPtr __fastcall GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                                BSTR name/*[in]*/);
  HRESULT         __fastcall GetManifestResourceStream_2(BSTR name/*[in]*/, 
                                                         Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_StreamPtr __fastcall GetManifestResourceStream_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetFile(BSTR name/*[in]*/, 
                                     Mscorlib_tlb::_FileStreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FileStreamPtr __fastcall GetFile(BSTR name/*[in]*/);
  HRESULT         __fastcall GetFiles(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetFiles(void);
  HRESULT         __fastcall GetFiles_2(TOLEBOOL getResourceModules/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetFiles_2(TOLEBOOL getResourceModules/*[in]*/);
  HRESULT         __fastcall GetManifestResourceNames(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetManifestResourceNames(void);
  HRESULT         __fastcall GetManifestResourceInfo(BSTR resourceName/*[in]*/, 
                                                     Mscorlib_tlb::_ManifestResourceInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ManifestResourceInfoPtr __fastcall GetManifestResourceInfo(BSTR resourceName/*[in]*/);
  HRESULT         __fastcall get_Location(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Location(void);
  HRESULT         __fastcall get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_EvidencePtr __fastcall get_Evidence(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           Mscorlib_tlb::StreamingContext Context/*[in]*/);
  HRESULT         __fastcall add_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                       TOLEBOOL ignoreCase/*[in]*/, 
                                       Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                              TOLEBOOL ignoreCase/*[in]*/);
  HRESULT         __fastcall GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                  Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                    Mscorlib_tlb::_VersionPtr Version/*[in]*/, 
                                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                               Mscorlib_tlb::_VersionPtr Version/*[in]*/);
  HRESULT         __fastcall LoadModule(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                        Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ModulePtr __fastcall LoadModule(BSTR moduleName/*[in]*/, 
                                                 LPSAFEARRAY rawModule/*[in]*/);
  HRESULT         __fastcall LoadModule_2(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                          LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                          Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ModulePtr __fastcall LoadModule_2(BSTR moduleName/*[in]*/, 
                                                   LPSAFEARRAY rawModule/*[in]*/, 
                                                   LPSAFEARRAY rawSymbolStore/*[in]*/);
  HRESULT         __fastcall CreateInstance(BSTR typeName/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall CreateInstance(BSTR typeName/*[in]*/);
  HRESULT         __fastcall CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                              TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/);
  HRESULT         __fastcall CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY args/*[in]*/, 
                                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                              LPSAFEARRAY activationAttributes/*[in]*/, 
                                              TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY args/*[in]*/, 
                                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                              LPSAFEARRAY activationAttributes/*[in]*/);
  HRESULT         __fastcall GetLoadedModules(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetLoadedModules(void);
  HRESULT         __fastcall GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                                LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/);
  HRESULT         __fastcall GetModules(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetModules(void);
  HRESULT         __fastcall GetModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                          LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetModules_2(TOLEBOOL getResourceModules/*[in]*/);
  HRESULT         __fastcall GetModule(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ModulePtr __fastcall GetModule(BSTR name/*[in]*/);
  HRESULT         __fastcall GetReferencedAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetReferencedAssemblies(void);
  HRESULT         __fastcall get_GlobalAssemblyCache(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_GlobalAssemblyCache(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   BSTR            CodeBase = {read = get_CodeBase};
  __property   BSTR            EscapedCodeBase = {read = get_EscapedCodeBase};
  __property   BSTR            FullName = {read = get_FullName};
  __property   Mscorlib_tlb::_MethodInfoPtr EntryPoint = {read = get_EntryPoint};
  __property   BSTR            Location = {read = get_Location};
  __property   Mscorlib_tlb::_EvidencePtr Evidence = {read = get_Evidence};
  __property   TOLEBOOL        GlobalAssemblyCache = {read = get_GlobalAssemblyCache};
};
typedef TCOM_AssemblyT<_Assembly> TCOM_Assembly;

// *********************************************************************//
// DispIntf:  _Assembly
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {17156360-2F1A-384A-BC52-FDE93C215C5B}
// *********************************************************************//
template<class T>
class _AssemblyDispT : public TAutoDriver<_Assembly>
{
public:
  _AssemblyDispT(){}

  _AssemblyDispT(_Assembly *pintf)
  {
    TAutoDriver<_Assembly>::Bind(pintf, false);
  }

  _AssemblyDispT(_AssemblyPtr pintf)
  {
    TAutoDriver<_Assembly>::Bind(pintf, true);
  }

  _AssemblyDispT& operator=(_Assembly *pintf)
  {
    TAutoDriver<_Assembly>::Bind(pintf, false);
    return *this;
  }

  _AssemblyDispT& operator=(_AssemblyPtr pintf)
  {
    TAutoDriver<_Assembly>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Assembly));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Assembly);
  }

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_CodeBase(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_CodeBase(void);
  HRESULT         __fastcall get_EscapedCodeBase(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_EscapedCodeBase(void);
  HRESULT         __fastcall GetName(Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyNamePtr __fastcall GetName(void);
  HRESULT         __fastcall GetName_2(TOLEBOOL copiedName/*[in]*/, 
                                       Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyNamePtr __fastcall GetName_2(TOLEBOOL copiedName/*[in]*/);
  HRESULT         __fastcall get_FullName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_FullName(void);
  HRESULT         __fastcall get_EntryPoint(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall get_EntryPoint(void);
  HRESULT         __fastcall GetType_2(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                       Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/);
  HRESULT         __fastcall GetExportedTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetExportedTypes(void);
  HRESULT         __fastcall GetTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetTypes(void);
  HRESULT         __fastcall GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                       BSTR name/*[in]*/, 
                                                       Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_StreamPtr __fastcall GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                                BSTR name/*[in]*/);
  HRESULT         __fastcall GetManifestResourceStream_2(BSTR name/*[in]*/, 
                                                         Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_StreamPtr __fastcall GetManifestResourceStream_2(BSTR name/*[in]*/);
  HRESULT         __fastcall GetFile(BSTR name/*[in]*/, 
                                     Mscorlib_tlb::_FileStreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FileStreamPtr __fastcall GetFile(BSTR name/*[in]*/);
  HRESULT         __fastcall GetFiles(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetFiles(void);
  HRESULT         __fastcall GetFiles_2(TOLEBOOL getResourceModules/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetFiles_2(TOLEBOOL getResourceModules/*[in]*/);
  HRESULT         __fastcall GetManifestResourceNames(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetManifestResourceNames(void);
  HRESULT         __fastcall GetManifestResourceInfo(BSTR resourceName/*[in]*/, 
                                                     Mscorlib_tlb::_ManifestResourceInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ManifestResourceInfoPtr __fastcall GetManifestResourceInfo(BSTR resourceName/*[in]*/);
  HRESULT         __fastcall get_Location(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Location(void);
  HRESULT         __fastcall get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_EvidencePtr __fastcall get_Evidence(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context);
  HRESULT         __fastcall add_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall remove_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/);
  HRESULT         __fastcall GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                       TOLEBOOL ignoreCase/*[in]*/, 
                                       Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                                              TOLEBOOL ignoreCase/*[in]*/);
  HRESULT         __fastcall GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                  Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                    Mscorlib_tlb::_VersionPtr Version/*[in]*/, 
                                                    Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyPtr __fastcall GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                                               Mscorlib_tlb::_VersionPtr Version/*[in]*/);
  HRESULT         __fastcall LoadModule(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                        Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ModulePtr __fastcall LoadModule(BSTR moduleName/*[in]*/, 
                                                 LPSAFEARRAY rawModule/*[in]*/);
  HRESULT         __fastcall LoadModule_2(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                          LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                          Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ModulePtr __fastcall LoadModule_2(BSTR moduleName/*[in]*/, 
                                                   LPSAFEARRAY rawModule/*[in]*/, 
                                                   LPSAFEARRAY rawSymbolStore/*[in]*/);
  HRESULT         __fastcall CreateInstance(BSTR typeName/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall CreateInstance(BSTR typeName/*[in]*/);
  HRESULT         __fastcall CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                              TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/);
  HRESULT         __fastcall CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY args/*[in]*/, 
                                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                              LPSAFEARRAY activationAttributes/*[in]*/, 
                                              TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                              Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                              LPSAFEARRAY args/*[in]*/, 
                                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                              LPSAFEARRAY activationAttributes/*[in]*/);
  HRESULT         __fastcall GetLoadedModules(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetLoadedModules(void);
  HRESULT         __fastcall GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                                LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/);
  HRESULT         __fastcall GetModules(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetModules(void);
  HRESULT         __fastcall GetModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                          LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetModules_2(TOLEBOOL getResourceModules/*[in]*/);
  HRESULT         __fastcall GetModule(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ModulePtr __fastcall GetModule(BSTR name/*[in]*/);
  HRESULT         __fastcall GetReferencedAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetReferencedAssemblies(void);
  HRESULT         __fastcall get_GlobalAssemblyCache(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_GlobalAssemblyCache(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   BSTR            CodeBase = {read = get_CodeBase};
  __property   BSTR            EscapedCodeBase = {read = get_EscapedCodeBase};
  __property   BSTR            FullName = {read = get_FullName};
  __property   Mscorlib_tlb::_MethodInfoPtr EntryPoint = {read = get_EntryPoint};
  __property   BSTR            Location = {read = get_Location};
  __property   Mscorlib_tlb::_EvidencePtr Evidence = {read = get_Evidence};
  __property   TOLEBOOL        GlobalAssemblyCache = {read = get_GlobalAssemblyCache};
};
typedef _AssemblyDispT<_Assembly> _AssemblyDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyCopyrightAttribute
// Interface: _AssemblyCopyrightAttribute
// *********************************************************************//
template <class T /* _AssemblyCopyrightAttribute */ >
class TCOM_AssemblyCopyrightAttributeT : public TComInterface<_AssemblyCopyrightAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyCopyrightAttributeT() {}
  TCOM_AssemblyCopyrightAttributeT(_AssemblyCopyrightAttribute *intf, bool addRef = false) : TComInterface<_AssemblyCopyrightAttribute>(intf, addRef) {}
  TCOM_AssemblyCopyrightAttributeT(const TCOM_AssemblyCopyrightAttributeT& src) : TComInterface<_AssemblyCopyrightAttribute>(src) {}
  TCOM_AssemblyCopyrightAttributeT& operator=(const TCOM_AssemblyCopyrightAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyCopyrightAttributeT<_AssemblyCopyrightAttribute> TCOM_AssemblyCopyrightAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyCopyrightAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6163F792-3CD6-38F1-B5F7-000B96A5082B}
// *********************************************************************//
template<class T>
class _AssemblyCopyrightAttributeDispT : public TAutoDriver<_AssemblyCopyrightAttribute>
{
public:
  _AssemblyCopyrightAttributeDispT(){}

  _AssemblyCopyrightAttributeDispT(_AssemblyCopyrightAttribute *pintf)
  {
    TAutoDriver<_AssemblyCopyrightAttribute>::Bind(pintf, false);
  }

  _AssemblyCopyrightAttributeDispT(_AssemblyCopyrightAttributePtr pintf)
  {
    TAutoDriver<_AssemblyCopyrightAttribute>::Bind(pintf, true);
  }

  _AssemblyCopyrightAttributeDispT& operator=(_AssemblyCopyrightAttribute *pintf)
  {
    TAutoDriver<_AssemblyCopyrightAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyCopyrightAttributeDispT& operator=(_AssemblyCopyrightAttributePtr pintf)
  {
    TAutoDriver<_AssemblyCopyrightAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyCopyrightAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyCopyrightAttribute);
  }


};
typedef _AssemblyCopyrightAttributeDispT<_AssemblyCopyrightAttribute> _AssemblyCopyrightAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyTrademarkAttribute
// Interface: _AssemblyTrademarkAttribute
// *********************************************************************//
template <class T /* _AssemblyTrademarkAttribute */ >
class TCOM_AssemblyTrademarkAttributeT : public TComInterface<_AssemblyTrademarkAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyTrademarkAttributeT() {}
  TCOM_AssemblyTrademarkAttributeT(_AssemblyTrademarkAttribute *intf, bool addRef = false) : TComInterface<_AssemblyTrademarkAttribute>(intf, addRef) {}
  TCOM_AssemblyTrademarkAttributeT(const TCOM_AssemblyTrademarkAttributeT& src) : TComInterface<_AssemblyTrademarkAttribute>(src) {}
  TCOM_AssemblyTrademarkAttributeT& operator=(const TCOM_AssemblyTrademarkAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyTrademarkAttributeT<_AssemblyTrademarkAttribute> TCOM_AssemblyTrademarkAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyTrademarkAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {64C26BF9-C9E5-3F66-AD74-BEBAADE36214}
// *********************************************************************//
template<class T>
class _AssemblyTrademarkAttributeDispT : public TAutoDriver<_AssemblyTrademarkAttribute>
{
public:
  _AssemblyTrademarkAttributeDispT(){}

  _AssemblyTrademarkAttributeDispT(_AssemblyTrademarkAttribute *pintf)
  {
    TAutoDriver<_AssemblyTrademarkAttribute>::Bind(pintf, false);
  }

  _AssemblyTrademarkAttributeDispT(_AssemblyTrademarkAttributePtr pintf)
  {
    TAutoDriver<_AssemblyTrademarkAttribute>::Bind(pintf, true);
  }

  _AssemblyTrademarkAttributeDispT& operator=(_AssemblyTrademarkAttribute *pintf)
  {
    TAutoDriver<_AssemblyTrademarkAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyTrademarkAttributeDispT& operator=(_AssemblyTrademarkAttributePtr pintf)
  {
    TAutoDriver<_AssemblyTrademarkAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyTrademarkAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyTrademarkAttribute);
  }


};
typedef _AssemblyTrademarkAttributeDispT<_AssemblyTrademarkAttribute> _AssemblyTrademarkAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyProductAttribute
// Interface: _AssemblyProductAttribute
// *********************************************************************//
template <class T /* _AssemblyProductAttribute */ >
class TCOM_AssemblyProductAttributeT : public TComInterface<_AssemblyProductAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyProductAttributeT() {}
  TCOM_AssemblyProductAttributeT(_AssemblyProductAttribute *intf, bool addRef = false) : TComInterface<_AssemblyProductAttribute>(intf, addRef) {}
  TCOM_AssemblyProductAttributeT(const TCOM_AssemblyProductAttributeT& src) : TComInterface<_AssemblyProductAttribute>(src) {}
  TCOM_AssemblyProductAttributeT& operator=(const TCOM_AssemblyProductAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyProductAttributeT<_AssemblyProductAttribute> TCOM_AssemblyProductAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyProductAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DE10D587-A188-3DCB-8000-92DFDB9B8021}
// *********************************************************************//
template<class T>
class _AssemblyProductAttributeDispT : public TAutoDriver<_AssemblyProductAttribute>
{
public:
  _AssemblyProductAttributeDispT(){}

  _AssemblyProductAttributeDispT(_AssemblyProductAttribute *pintf)
  {
    TAutoDriver<_AssemblyProductAttribute>::Bind(pintf, false);
  }

  _AssemblyProductAttributeDispT(_AssemblyProductAttributePtr pintf)
  {
    TAutoDriver<_AssemblyProductAttribute>::Bind(pintf, true);
  }

  _AssemblyProductAttributeDispT& operator=(_AssemblyProductAttribute *pintf)
  {
    TAutoDriver<_AssemblyProductAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyProductAttributeDispT& operator=(_AssemblyProductAttributePtr pintf)
  {
    TAutoDriver<_AssemblyProductAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyProductAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyProductAttribute);
  }


};
typedef _AssemblyProductAttributeDispT<_AssemblyProductAttribute> _AssemblyProductAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyCompanyAttribute
// Interface: _AssemblyCompanyAttribute
// *********************************************************************//
template <class T /* _AssemblyCompanyAttribute */ >
class TCOM_AssemblyCompanyAttributeT : public TComInterface<_AssemblyCompanyAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyCompanyAttributeT() {}
  TCOM_AssemblyCompanyAttributeT(_AssemblyCompanyAttribute *intf, bool addRef = false) : TComInterface<_AssemblyCompanyAttribute>(intf, addRef) {}
  TCOM_AssemblyCompanyAttributeT(const TCOM_AssemblyCompanyAttributeT& src) : TComInterface<_AssemblyCompanyAttribute>(src) {}
  TCOM_AssemblyCompanyAttributeT& operator=(const TCOM_AssemblyCompanyAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyCompanyAttributeT<_AssemblyCompanyAttribute> TCOM_AssemblyCompanyAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyCompanyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C6802233-EF82-3C91-AD72-B3A5D7230ED5}
// *********************************************************************//
template<class T>
class _AssemblyCompanyAttributeDispT : public TAutoDriver<_AssemblyCompanyAttribute>
{
public:
  _AssemblyCompanyAttributeDispT(){}

  _AssemblyCompanyAttributeDispT(_AssemblyCompanyAttribute *pintf)
  {
    TAutoDriver<_AssemblyCompanyAttribute>::Bind(pintf, false);
  }

  _AssemblyCompanyAttributeDispT(_AssemblyCompanyAttributePtr pintf)
  {
    TAutoDriver<_AssemblyCompanyAttribute>::Bind(pintf, true);
  }

  _AssemblyCompanyAttributeDispT& operator=(_AssemblyCompanyAttribute *pintf)
  {
    TAutoDriver<_AssemblyCompanyAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyCompanyAttributeDispT& operator=(_AssemblyCompanyAttributePtr pintf)
  {
    TAutoDriver<_AssemblyCompanyAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyCompanyAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyCompanyAttribute);
  }


};
typedef _AssemblyCompanyAttributeDispT<_AssemblyCompanyAttribute> _AssemblyCompanyAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyDescriptionAttribute
// Interface: _AssemblyDescriptionAttribute
// *********************************************************************//
template <class T /* _AssemblyDescriptionAttribute */ >
class TCOM_AssemblyDescriptionAttributeT : public TComInterface<_AssemblyDescriptionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyDescriptionAttributeT() {}
  TCOM_AssemblyDescriptionAttributeT(_AssemblyDescriptionAttribute *intf, bool addRef = false) : TComInterface<_AssemblyDescriptionAttribute>(intf, addRef) {}
  TCOM_AssemblyDescriptionAttributeT(const TCOM_AssemblyDescriptionAttributeT& src) : TComInterface<_AssemblyDescriptionAttribute>(src) {}
  TCOM_AssemblyDescriptionAttributeT& operator=(const TCOM_AssemblyDescriptionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyDescriptionAttributeT<_AssemblyDescriptionAttribute> TCOM_AssemblyDescriptionAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyDescriptionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6B2C0BC4-DDB7-38EA-8A86-F0B59E192816}
// *********************************************************************//
template<class T>
class _AssemblyDescriptionAttributeDispT : public TAutoDriver<_AssemblyDescriptionAttribute>
{
public:
  _AssemblyDescriptionAttributeDispT(){}

  _AssemblyDescriptionAttributeDispT(_AssemblyDescriptionAttribute *pintf)
  {
    TAutoDriver<_AssemblyDescriptionAttribute>::Bind(pintf, false);
  }

  _AssemblyDescriptionAttributeDispT(_AssemblyDescriptionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyDescriptionAttribute>::Bind(pintf, true);
  }

  _AssemblyDescriptionAttributeDispT& operator=(_AssemblyDescriptionAttribute *pintf)
  {
    TAutoDriver<_AssemblyDescriptionAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyDescriptionAttributeDispT& operator=(_AssemblyDescriptionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyDescriptionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyDescriptionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyDescriptionAttribute);
  }


};
typedef _AssemblyDescriptionAttributeDispT<_AssemblyDescriptionAttribute> _AssemblyDescriptionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyTitleAttribute
// Interface: _AssemblyTitleAttribute
// *********************************************************************//
template <class T /* _AssemblyTitleAttribute */ >
class TCOM_AssemblyTitleAttributeT : public TComInterface<_AssemblyTitleAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyTitleAttributeT() {}
  TCOM_AssemblyTitleAttributeT(_AssemblyTitleAttribute *intf, bool addRef = false) : TComInterface<_AssemblyTitleAttribute>(intf, addRef) {}
  TCOM_AssemblyTitleAttributeT(const TCOM_AssemblyTitleAttributeT& src) : TComInterface<_AssemblyTitleAttribute>(src) {}
  TCOM_AssemblyTitleAttributeT& operator=(const TCOM_AssemblyTitleAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyTitleAttributeT<_AssemblyTitleAttribute> TCOM_AssemblyTitleAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyTitleAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DF44CAD3-CEF2-36A9-B013-383CC03177D7}
// *********************************************************************//
template<class T>
class _AssemblyTitleAttributeDispT : public TAutoDriver<_AssemblyTitleAttribute>
{
public:
  _AssemblyTitleAttributeDispT(){}

  _AssemblyTitleAttributeDispT(_AssemblyTitleAttribute *pintf)
  {
    TAutoDriver<_AssemblyTitleAttribute>::Bind(pintf, false);
  }

  _AssemblyTitleAttributeDispT(_AssemblyTitleAttributePtr pintf)
  {
    TAutoDriver<_AssemblyTitleAttribute>::Bind(pintf, true);
  }

  _AssemblyTitleAttributeDispT& operator=(_AssemblyTitleAttribute *pintf)
  {
    TAutoDriver<_AssemblyTitleAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyTitleAttributeDispT& operator=(_AssemblyTitleAttributePtr pintf)
  {
    TAutoDriver<_AssemblyTitleAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyTitleAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyTitleAttribute);
  }


};
typedef _AssemblyTitleAttributeDispT<_AssemblyTitleAttribute> _AssemblyTitleAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyConfigurationAttribute
// Interface: _AssemblyConfigurationAttribute
// *********************************************************************//
template <class T /* _AssemblyConfigurationAttribute */ >
class TCOM_AssemblyConfigurationAttributeT : public TComInterface<_AssemblyConfigurationAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyConfigurationAttributeT() {}
  TCOM_AssemblyConfigurationAttributeT(_AssemblyConfigurationAttribute *intf, bool addRef = false) : TComInterface<_AssemblyConfigurationAttribute>(intf, addRef) {}
  TCOM_AssemblyConfigurationAttributeT(const TCOM_AssemblyConfigurationAttributeT& src) : TComInterface<_AssemblyConfigurationAttribute>(src) {}
  TCOM_AssemblyConfigurationAttributeT& operator=(const TCOM_AssemblyConfigurationAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyConfigurationAttributeT<_AssemblyConfigurationAttribute> TCOM_AssemblyConfigurationAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyConfigurationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {746D1D1E-EE37-393B-B6FA-E387D37553AA}
// *********************************************************************//
template<class T>
class _AssemblyConfigurationAttributeDispT : public TAutoDriver<_AssemblyConfigurationAttribute>
{
public:
  _AssemblyConfigurationAttributeDispT(){}

  _AssemblyConfigurationAttributeDispT(_AssemblyConfigurationAttribute *pintf)
  {
    TAutoDriver<_AssemblyConfigurationAttribute>::Bind(pintf, false);
  }

  _AssemblyConfigurationAttributeDispT(_AssemblyConfigurationAttributePtr pintf)
  {
    TAutoDriver<_AssemblyConfigurationAttribute>::Bind(pintf, true);
  }

  _AssemblyConfigurationAttributeDispT& operator=(_AssemblyConfigurationAttribute *pintf)
  {
    TAutoDriver<_AssemblyConfigurationAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyConfigurationAttributeDispT& operator=(_AssemblyConfigurationAttributePtr pintf)
  {
    TAutoDriver<_AssemblyConfigurationAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyConfigurationAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyConfigurationAttribute);
  }


};
typedef _AssemblyConfigurationAttributeDispT<_AssemblyConfigurationAttribute> _AssemblyConfigurationAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyDefaultAliasAttribute
// Interface: _AssemblyDefaultAliasAttribute
// *********************************************************************//
template <class T /* _AssemblyDefaultAliasAttribute */ >
class TCOM_AssemblyDefaultAliasAttributeT : public TComInterface<_AssemblyDefaultAliasAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyDefaultAliasAttributeT() {}
  TCOM_AssemblyDefaultAliasAttributeT(_AssemblyDefaultAliasAttribute *intf, bool addRef = false) : TComInterface<_AssemblyDefaultAliasAttribute>(intf, addRef) {}
  TCOM_AssemblyDefaultAliasAttributeT(const TCOM_AssemblyDefaultAliasAttributeT& src) : TComInterface<_AssemblyDefaultAliasAttribute>(src) {}
  TCOM_AssemblyDefaultAliasAttributeT& operator=(const TCOM_AssemblyDefaultAliasAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyDefaultAliasAttributeT<_AssemblyDefaultAliasAttribute> TCOM_AssemblyDefaultAliasAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyDefaultAliasAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {04311D35-75EC-347B-BEDF-969487CE4014}
// *********************************************************************//
template<class T>
class _AssemblyDefaultAliasAttributeDispT : public TAutoDriver<_AssemblyDefaultAliasAttribute>
{
public:
  _AssemblyDefaultAliasAttributeDispT(){}

  _AssemblyDefaultAliasAttributeDispT(_AssemblyDefaultAliasAttribute *pintf)
  {
    TAutoDriver<_AssemblyDefaultAliasAttribute>::Bind(pintf, false);
  }

  _AssemblyDefaultAliasAttributeDispT(_AssemblyDefaultAliasAttributePtr pintf)
  {
    TAutoDriver<_AssemblyDefaultAliasAttribute>::Bind(pintf, true);
  }

  _AssemblyDefaultAliasAttributeDispT& operator=(_AssemblyDefaultAliasAttribute *pintf)
  {
    TAutoDriver<_AssemblyDefaultAliasAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyDefaultAliasAttributeDispT& operator=(_AssemblyDefaultAliasAttributePtr pintf)
  {
    TAutoDriver<_AssemblyDefaultAliasAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyDefaultAliasAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyDefaultAliasAttribute);
  }


};
typedef _AssemblyDefaultAliasAttributeDispT<_AssemblyDefaultAliasAttribute> _AssemblyDefaultAliasAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyInformationalVersionAttribute
// Interface: _AssemblyInformationalVersionAttribute
// *********************************************************************//
template <class T /* _AssemblyInformationalVersionAttribute */ >
class TCOM_AssemblyInformationalVersionAttributeT : public TComInterface<_AssemblyInformationalVersionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyInformationalVersionAttributeT() {}
  TCOM_AssemblyInformationalVersionAttributeT(_AssemblyInformationalVersionAttribute *intf, bool addRef = false) : TComInterface<_AssemblyInformationalVersionAttribute>(intf, addRef) {}
  TCOM_AssemblyInformationalVersionAttributeT(const TCOM_AssemblyInformationalVersionAttributeT& src) : TComInterface<_AssemblyInformationalVersionAttribute>(src) {}
  TCOM_AssemblyInformationalVersionAttributeT& operator=(const TCOM_AssemblyInformationalVersionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyInformationalVersionAttributeT<_AssemblyInformationalVersionAttribute> TCOM_AssemblyInformationalVersionAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyInformationalVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C6F5946C-143A-3747-A7C0-ABFADA6BDEB7}
// *********************************************************************//
template<class T>
class _AssemblyInformationalVersionAttributeDispT : public TAutoDriver<_AssemblyInformationalVersionAttribute>
{
public:
  _AssemblyInformationalVersionAttributeDispT(){}

  _AssemblyInformationalVersionAttributeDispT(_AssemblyInformationalVersionAttribute *pintf)
  {
    TAutoDriver<_AssemblyInformationalVersionAttribute>::Bind(pintf, false);
  }

  _AssemblyInformationalVersionAttributeDispT(_AssemblyInformationalVersionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyInformationalVersionAttribute>::Bind(pintf, true);
  }

  _AssemblyInformationalVersionAttributeDispT& operator=(_AssemblyInformationalVersionAttribute *pintf)
  {
    TAutoDriver<_AssemblyInformationalVersionAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyInformationalVersionAttributeDispT& operator=(_AssemblyInformationalVersionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyInformationalVersionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyInformationalVersionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyInformationalVersionAttribute);
  }


};
typedef _AssemblyInformationalVersionAttributeDispT<_AssemblyInformationalVersionAttribute> _AssemblyInformationalVersionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyFileVersionAttribute
// Interface: _AssemblyFileVersionAttribute
// *********************************************************************//
template <class T /* _AssemblyFileVersionAttribute */ >
class TCOM_AssemblyFileVersionAttributeT : public TComInterface<_AssemblyFileVersionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyFileVersionAttributeT() {}
  TCOM_AssemblyFileVersionAttributeT(_AssemblyFileVersionAttribute *intf, bool addRef = false) : TComInterface<_AssemblyFileVersionAttribute>(intf, addRef) {}
  TCOM_AssemblyFileVersionAttributeT(const TCOM_AssemblyFileVersionAttributeT& src) : TComInterface<_AssemblyFileVersionAttribute>(src) {}
  TCOM_AssemblyFileVersionAttributeT& operator=(const TCOM_AssemblyFileVersionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyFileVersionAttributeT<_AssemblyFileVersionAttribute> TCOM_AssemblyFileVersionAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyFileVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B101FE3C-4479-311A-A945-1225EE1731E8}
// *********************************************************************//
template<class T>
class _AssemblyFileVersionAttributeDispT : public TAutoDriver<_AssemblyFileVersionAttribute>
{
public:
  _AssemblyFileVersionAttributeDispT(){}

  _AssemblyFileVersionAttributeDispT(_AssemblyFileVersionAttribute *pintf)
  {
    TAutoDriver<_AssemblyFileVersionAttribute>::Bind(pintf, false);
  }

  _AssemblyFileVersionAttributeDispT(_AssemblyFileVersionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyFileVersionAttribute>::Bind(pintf, true);
  }

  _AssemblyFileVersionAttributeDispT& operator=(_AssemblyFileVersionAttribute *pintf)
  {
    TAutoDriver<_AssemblyFileVersionAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyFileVersionAttributeDispT& operator=(_AssemblyFileVersionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyFileVersionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyFileVersionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyFileVersionAttribute);
  }


};
typedef _AssemblyFileVersionAttributeDispT<_AssemblyFileVersionAttribute> _AssemblyFileVersionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyCultureAttribute
// Interface: _AssemblyCultureAttribute
// *********************************************************************//
template <class T /* _AssemblyCultureAttribute */ >
class TCOM_AssemblyCultureAttributeT : public TComInterface<_AssemblyCultureAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyCultureAttributeT() {}
  TCOM_AssemblyCultureAttributeT(_AssemblyCultureAttribute *intf, bool addRef = false) : TComInterface<_AssemblyCultureAttribute>(intf, addRef) {}
  TCOM_AssemblyCultureAttributeT(const TCOM_AssemblyCultureAttributeT& src) : TComInterface<_AssemblyCultureAttribute>(src) {}
  TCOM_AssemblyCultureAttributeT& operator=(const TCOM_AssemblyCultureAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyCultureAttributeT<_AssemblyCultureAttribute> TCOM_AssemblyCultureAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyCultureAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {177C4E63-9E0B-354D-838B-B52AA8683EF6}
// *********************************************************************//
template<class T>
class _AssemblyCultureAttributeDispT : public TAutoDriver<_AssemblyCultureAttribute>
{
public:
  _AssemblyCultureAttributeDispT(){}

  _AssemblyCultureAttributeDispT(_AssemblyCultureAttribute *pintf)
  {
    TAutoDriver<_AssemblyCultureAttribute>::Bind(pintf, false);
  }

  _AssemblyCultureAttributeDispT(_AssemblyCultureAttributePtr pintf)
  {
    TAutoDriver<_AssemblyCultureAttribute>::Bind(pintf, true);
  }

  _AssemblyCultureAttributeDispT& operator=(_AssemblyCultureAttribute *pintf)
  {
    TAutoDriver<_AssemblyCultureAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyCultureAttributeDispT& operator=(_AssemblyCultureAttributePtr pintf)
  {
    TAutoDriver<_AssemblyCultureAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyCultureAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyCultureAttribute);
  }


};
typedef _AssemblyCultureAttributeDispT<_AssemblyCultureAttribute> _AssemblyCultureAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyVersionAttribute
// Interface: _AssemblyVersionAttribute
// *********************************************************************//
template <class T /* _AssemblyVersionAttribute */ >
class TCOM_AssemblyVersionAttributeT : public TComInterface<_AssemblyVersionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyVersionAttributeT() {}
  TCOM_AssemblyVersionAttributeT(_AssemblyVersionAttribute *intf, bool addRef = false) : TComInterface<_AssemblyVersionAttribute>(intf, addRef) {}
  TCOM_AssemblyVersionAttributeT(const TCOM_AssemblyVersionAttributeT& src) : TComInterface<_AssemblyVersionAttribute>(src) {}
  TCOM_AssemblyVersionAttributeT& operator=(const TCOM_AssemblyVersionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyVersionAttributeT<_AssemblyVersionAttribute> TCOM_AssemblyVersionAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1693C5C-101F-3557-94DB-C480CEB4C16B}
// *********************************************************************//
template<class T>
class _AssemblyVersionAttributeDispT : public TAutoDriver<_AssemblyVersionAttribute>
{
public:
  _AssemblyVersionAttributeDispT(){}

  _AssemblyVersionAttributeDispT(_AssemblyVersionAttribute *pintf)
  {
    TAutoDriver<_AssemblyVersionAttribute>::Bind(pintf, false);
  }

  _AssemblyVersionAttributeDispT(_AssemblyVersionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyVersionAttribute>::Bind(pintf, true);
  }

  _AssemblyVersionAttributeDispT& operator=(_AssemblyVersionAttribute *pintf)
  {
    TAutoDriver<_AssemblyVersionAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyVersionAttributeDispT& operator=(_AssemblyVersionAttributePtr pintf)
  {
    TAutoDriver<_AssemblyVersionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyVersionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyVersionAttribute);
  }


};
typedef _AssemblyVersionAttributeDispT<_AssemblyVersionAttribute> _AssemblyVersionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyKeyFileAttribute
// Interface: _AssemblyKeyFileAttribute
// *********************************************************************//
template <class T /* _AssemblyKeyFileAttribute */ >
class TCOM_AssemblyKeyFileAttributeT : public TComInterface<_AssemblyKeyFileAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyKeyFileAttributeT() {}
  TCOM_AssemblyKeyFileAttributeT(_AssemblyKeyFileAttribute *intf, bool addRef = false) : TComInterface<_AssemblyKeyFileAttribute>(intf, addRef) {}
  TCOM_AssemblyKeyFileAttributeT(const TCOM_AssemblyKeyFileAttributeT& src) : TComInterface<_AssemblyKeyFileAttribute>(src) {}
  TCOM_AssemblyKeyFileAttributeT& operator=(const TCOM_AssemblyKeyFileAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyKeyFileAttributeT<_AssemblyKeyFileAttribute> TCOM_AssemblyKeyFileAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyKeyFileAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9FCDA18-C237-3C6F-A6EF-749BE22BA2BF}
// *********************************************************************//
template<class T>
class _AssemblyKeyFileAttributeDispT : public TAutoDriver<_AssemblyKeyFileAttribute>
{
public:
  _AssemblyKeyFileAttributeDispT(){}

  _AssemblyKeyFileAttributeDispT(_AssemblyKeyFileAttribute *pintf)
  {
    TAutoDriver<_AssemblyKeyFileAttribute>::Bind(pintf, false);
  }

  _AssemblyKeyFileAttributeDispT(_AssemblyKeyFileAttributePtr pintf)
  {
    TAutoDriver<_AssemblyKeyFileAttribute>::Bind(pintf, true);
  }

  _AssemblyKeyFileAttributeDispT& operator=(_AssemblyKeyFileAttribute *pintf)
  {
    TAutoDriver<_AssemblyKeyFileAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyKeyFileAttributeDispT& operator=(_AssemblyKeyFileAttributePtr pintf)
  {
    TAutoDriver<_AssemblyKeyFileAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyKeyFileAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyKeyFileAttribute);
  }


};
typedef _AssemblyKeyFileAttributeDispT<_AssemblyKeyFileAttribute> _AssemblyKeyFileAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyDelaySignAttribute
// Interface: _AssemblyDelaySignAttribute
// *********************************************************************//
template <class T /* _AssemblyDelaySignAttribute */ >
class TCOM_AssemblyDelaySignAttributeT : public TComInterface<_AssemblyDelaySignAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyDelaySignAttributeT() {}
  TCOM_AssemblyDelaySignAttributeT(_AssemblyDelaySignAttribute *intf, bool addRef = false) : TComInterface<_AssemblyDelaySignAttribute>(intf, addRef) {}
  TCOM_AssemblyDelaySignAttributeT(const TCOM_AssemblyDelaySignAttributeT& src) : TComInterface<_AssemblyDelaySignAttribute>(src) {}
  TCOM_AssemblyDelaySignAttributeT& operator=(const TCOM_AssemblyDelaySignAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyDelaySignAttributeT<_AssemblyDelaySignAttribute> TCOM_AssemblyDelaySignAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyDelaySignAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6CF1C077-C974-38E1-90A4-976E4835E165}
// *********************************************************************//
template<class T>
class _AssemblyDelaySignAttributeDispT : public TAutoDriver<_AssemblyDelaySignAttribute>
{
public:
  _AssemblyDelaySignAttributeDispT(){}

  _AssemblyDelaySignAttributeDispT(_AssemblyDelaySignAttribute *pintf)
  {
    TAutoDriver<_AssemblyDelaySignAttribute>::Bind(pintf, false);
  }

  _AssemblyDelaySignAttributeDispT(_AssemblyDelaySignAttributePtr pintf)
  {
    TAutoDriver<_AssemblyDelaySignAttribute>::Bind(pintf, true);
  }

  _AssemblyDelaySignAttributeDispT& operator=(_AssemblyDelaySignAttribute *pintf)
  {
    TAutoDriver<_AssemblyDelaySignAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyDelaySignAttributeDispT& operator=(_AssemblyDelaySignAttributePtr pintf)
  {
    TAutoDriver<_AssemblyDelaySignAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyDelaySignAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyDelaySignAttribute);
  }


};
typedef _AssemblyDelaySignAttributeDispT<_AssemblyDelaySignAttribute> _AssemblyDelaySignAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyAlgorithmIdAttribute
// Interface: _AssemblyAlgorithmIdAttribute
// *********************************************************************//
template <class T /* _AssemblyAlgorithmIdAttribute */ >
class TCOM_AssemblyAlgorithmIdAttributeT : public TComInterface<_AssemblyAlgorithmIdAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyAlgorithmIdAttributeT() {}
  TCOM_AssemblyAlgorithmIdAttributeT(_AssemblyAlgorithmIdAttribute *intf, bool addRef = false) : TComInterface<_AssemblyAlgorithmIdAttribute>(intf, addRef) {}
  TCOM_AssemblyAlgorithmIdAttributeT(const TCOM_AssemblyAlgorithmIdAttributeT& src) : TComInterface<_AssemblyAlgorithmIdAttribute>(src) {}
  TCOM_AssemblyAlgorithmIdAttributeT& operator=(const TCOM_AssemblyAlgorithmIdAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyAlgorithmIdAttributeT<_AssemblyAlgorithmIdAttribute> TCOM_AssemblyAlgorithmIdAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyAlgorithmIdAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {57B849AA-D8EF-3EA6-9538-C5B4D498C2F7}
// *********************************************************************//
template<class T>
class _AssemblyAlgorithmIdAttributeDispT : public TAutoDriver<_AssemblyAlgorithmIdAttribute>
{
public:
  _AssemblyAlgorithmIdAttributeDispT(){}

  _AssemblyAlgorithmIdAttributeDispT(_AssemblyAlgorithmIdAttribute *pintf)
  {
    TAutoDriver<_AssemblyAlgorithmIdAttribute>::Bind(pintf, false);
  }

  _AssemblyAlgorithmIdAttributeDispT(_AssemblyAlgorithmIdAttributePtr pintf)
  {
    TAutoDriver<_AssemblyAlgorithmIdAttribute>::Bind(pintf, true);
  }

  _AssemblyAlgorithmIdAttributeDispT& operator=(_AssemblyAlgorithmIdAttribute *pintf)
  {
    TAutoDriver<_AssemblyAlgorithmIdAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyAlgorithmIdAttributeDispT& operator=(_AssemblyAlgorithmIdAttributePtr pintf)
  {
    TAutoDriver<_AssemblyAlgorithmIdAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyAlgorithmIdAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyAlgorithmIdAttribute);
  }


};
typedef _AssemblyAlgorithmIdAttributeDispT<_AssemblyAlgorithmIdAttribute> _AssemblyAlgorithmIdAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyFlagsAttribute
// Interface: _AssemblyFlagsAttribute
// *********************************************************************//
template <class T /* _AssemblyFlagsAttribute */ >
class TCOM_AssemblyFlagsAttributeT : public TComInterface<_AssemblyFlagsAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyFlagsAttributeT() {}
  TCOM_AssemblyFlagsAttributeT(_AssemblyFlagsAttribute *intf, bool addRef = false) : TComInterface<_AssemblyFlagsAttribute>(intf, addRef) {}
  TCOM_AssemblyFlagsAttributeT(const TCOM_AssemblyFlagsAttributeT& src) : TComInterface<_AssemblyFlagsAttribute>(src) {}
  TCOM_AssemblyFlagsAttributeT& operator=(const TCOM_AssemblyFlagsAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyFlagsAttributeT<_AssemblyFlagsAttribute> TCOM_AssemblyFlagsAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyFlagsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0ECD8635-F5EB-3E4A-8989-4D684D67C48A}
// *********************************************************************//
template<class T>
class _AssemblyFlagsAttributeDispT : public TAutoDriver<_AssemblyFlagsAttribute>
{
public:
  _AssemblyFlagsAttributeDispT(){}

  _AssemblyFlagsAttributeDispT(_AssemblyFlagsAttribute *pintf)
  {
    TAutoDriver<_AssemblyFlagsAttribute>::Bind(pintf, false);
  }

  _AssemblyFlagsAttributeDispT(_AssemblyFlagsAttributePtr pintf)
  {
    TAutoDriver<_AssemblyFlagsAttribute>::Bind(pintf, true);
  }

  _AssemblyFlagsAttributeDispT& operator=(_AssemblyFlagsAttribute *pintf)
  {
    TAutoDriver<_AssemblyFlagsAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyFlagsAttributeDispT& operator=(_AssemblyFlagsAttributePtr pintf)
  {
    TAutoDriver<_AssemblyFlagsAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyFlagsAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyFlagsAttribute);
  }


};
typedef _AssemblyFlagsAttributeDispT<_AssemblyFlagsAttribute> _AssemblyFlagsAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyKeyNameAttribute
// Interface: _AssemblyKeyNameAttribute
// *********************************************************************//
template <class T /* _AssemblyKeyNameAttribute */ >
class TCOM_AssemblyKeyNameAttributeT : public TComInterface<_AssemblyKeyNameAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyKeyNameAttributeT() {}
  TCOM_AssemblyKeyNameAttributeT(_AssemblyKeyNameAttribute *intf, bool addRef = false) : TComInterface<_AssemblyKeyNameAttribute>(intf, addRef) {}
  TCOM_AssemblyKeyNameAttributeT(const TCOM_AssemblyKeyNameAttributeT& src) : TComInterface<_AssemblyKeyNameAttribute>(src) {}
  TCOM_AssemblyKeyNameAttributeT& operator=(const TCOM_AssemblyKeyNameAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyKeyNameAttributeT<_AssemblyKeyNameAttribute> TCOM_AssemblyKeyNameAttribute;

// *********************************************************************//
// DispIntf:  _AssemblyKeyNameAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {322A304D-11AC-3814-A905-A019F6E3DAE9}
// *********************************************************************//
template<class T>
class _AssemblyKeyNameAttributeDispT : public TAutoDriver<_AssemblyKeyNameAttribute>
{
public:
  _AssemblyKeyNameAttributeDispT(){}

  _AssemblyKeyNameAttributeDispT(_AssemblyKeyNameAttribute *pintf)
  {
    TAutoDriver<_AssemblyKeyNameAttribute>::Bind(pintf, false);
  }

  _AssemblyKeyNameAttributeDispT(_AssemblyKeyNameAttributePtr pintf)
  {
    TAutoDriver<_AssemblyKeyNameAttribute>::Bind(pintf, true);
  }

  _AssemblyKeyNameAttributeDispT& operator=(_AssemblyKeyNameAttribute *pintf)
  {
    TAutoDriver<_AssemblyKeyNameAttribute>::Bind(pintf, false);
    return *this;
  }

  _AssemblyKeyNameAttributeDispT& operator=(_AssemblyKeyNameAttributePtr pintf)
  {
    TAutoDriver<_AssemblyKeyNameAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyKeyNameAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyKeyNameAttribute);
  }


};
typedef _AssemblyKeyNameAttributeDispT<_AssemblyKeyNameAttribute> _AssemblyKeyNameAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyName
// Interface: _AssemblyName
// *********************************************************************//
template <class T /* _AssemblyName */ >
class TCOM_AssemblyNameT : public TComInterface<_AssemblyName>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyNameT() {}
  TCOM_AssemblyNameT(_AssemblyName *intf, bool addRef = false) : TComInterface<_AssemblyName>(intf, addRef) {}
  TCOM_AssemblyNameT(const TCOM_AssemblyNameT& src) : TComInterface<_AssemblyName>(src) {}
  TCOM_AssemblyNameT& operator=(const TCOM_AssemblyNameT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_AssemblyNameT<_AssemblyName> TCOM_AssemblyName;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyNameProxy
// Interface: _AssemblyNameProxy
// *********************************************************************//
template <class T /* _AssemblyNameProxy */ >
class TCOM_AssemblyNameProxyT : public TComInterface<_AssemblyNameProxy>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyNameProxyT() {}
  TCOM_AssemblyNameProxyT(_AssemblyNameProxy *intf, bool addRef = false) : TComInterface<_AssemblyNameProxy>(intf, addRef) {}
  TCOM_AssemblyNameProxyT(const TCOM_AssemblyNameProxyT& src) : TComInterface<_AssemblyNameProxy>(src) {}
  TCOM_AssemblyNameProxyT& operator=(const TCOM_AssemblyNameProxyT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AssemblyNameProxyT<_AssemblyNameProxy> TCOM_AssemblyNameProxy;

// *********************************************************************//
// DispIntf:  _AssemblyNameProxy
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FE52F19A-8AA8-309C-BF99-9D0A566FB76A}
// *********************************************************************//
template<class T>
class _AssemblyNameProxyDispT : public TAutoDriver<_AssemblyNameProxy>
{
public:
  _AssemblyNameProxyDispT(){}

  _AssemblyNameProxyDispT(_AssemblyNameProxy *pintf)
  {
    TAutoDriver<_AssemblyNameProxy>::Bind(pintf, false);
  }

  _AssemblyNameProxyDispT(_AssemblyNameProxyPtr pintf)
  {
    TAutoDriver<_AssemblyNameProxy>::Bind(pintf, true);
  }

  _AssemblyNameProxyDispT& operator=(_AssemblyNameProxy *pintf)
  {
    TAutoDriver<_AssemblyNameProxy>::Bind(pintf, false);
    return *this;
  }

  _AssemblyNameProxyDispT& operator=(_AssemblyNameProxyPtr pintf)
  {
    TAutoDriver<_AssemblyNameProxy>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AssemblyNameProxy));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AssemblyNameProxy);
  }


};
typedef _AssemblyNameProxyDispT<_AssemblyNameProxy> _AssemblyNameProxyDisp;

// *********************************************************************//
// SmartIntf: TCOM_CustomAttributeFormatException
// Interface: _CustomAttributeFormatException
// *********************************************************************//
template <class T /* _CustomAttributeFormatException */ >
class TCOM_CustomAttributeFormatExceptionT : public TComInterface<_CustomAttributeFormatException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CustomAttributeFormatExceptionT() {}
  TCOM_CustomAttributeFormatExceptionT(_CustomAttributeFormatException *intf, bool addRef = false) : TComInterface<_CustomAttributeFormatException>(intf, addRef) {}
  TCOM_CustomAttributeFormatExceptionT(const TCOM_CustomAttributeFormatExceptionT& src) : TComInterface<_CustomAttributeFormatException>(src) {}
  TCOM_CustomAttributeFormatExceptionT& operator=(const TCOM_CustomAttributeFormatExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CustomAttributeFormatExceptionT<_CustomAttributeFormatException> TCOM_CustomAttributeFormatException;

// *********************************************************************//
// DispIntf:  _CustomAttributeFormatException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1660EB67-EE41-363E-BEB0-C2DE09214ABF}
// *********************************************************************//
template<class T>
class _CustomAttributeFormatExceptionDispT : public TAutoDriver<_CustomAttributeFormatException>
{
public:
  _CustomAttributeFormatExceptionDispT(){}

  _CustomAttributeFormatExceptionDispT(_CustomAttributeFormatException *pintf)
  {
    TAutoDriver<_CustomAttributeFormatException>::Bind(pintf, false);
  }

  _CustomAttributeFormatExceptionDispT(_CustomAttributeFormatExceptionPtr pintf)
  {
    TAutoDriver<_CustomAttributeFormatException>::Bind(pintf, true);
  }

  _CustomAttributeFormatExceptionDispT& operator=(_CustomAttributeFormatException *pintf)
  {
    TAutoDriver<_CustomAttributeFormatException>::Bind(pintf, false);
    return *this;
  }

  _CustomAttributeFormatExceptionDispT& operator=(_CustomAttributeFormatExceptionPtr pintf)
  {
    TAutoDriver<_CustomAttributeFormatException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CustomAttributeFormatException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CustomAttributeFormatException);
  }


};
typedef _CustomAttributeFormatExceptionDispT<_CustomAttributeFormatException> _CustomAttributeFormatExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodBase
// Interface: _MethodBase
// *********************************************************************//
template <class T /* _MethodBase */ >
class TCOM_MethodBaseT : public TComInterface<_MethodBase>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodBaseT() {}
  TCOM_MethodBaseT(_MethodBase *intf, bool addRef = false) : TComInterface<_MethodBase>(intf, addRef) {}
  TCOM_MethodBaseT(const TCOM_MethodBaseT& src) : TComInterface<_MethodBase>(src) {}
  TCOM_MethodBaseT& operator=(const TCOM_MethodBaseT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetParameters(void);
  HRESULT         __fastcall GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MethodImplAttributes __fastcall GetMethodImplementationFlags(void);
  HRESULT         __fastcall get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::RuntimeMethodHandle __fastcall get_MethodHandle(void);
  HRESULT         __fastcall get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MethodAttributes __fastcall get_Attributes(void);
  HRESULT         __fastcall get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::CallingConventions __fastcall get_CallingConvention(void);
  HRESULT         __fastcall Invoke_2(TVariantInParam obj/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_2(TVariantInParam obj/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPublic(void);
  HRESULT         __fastcall get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPrivate(void);
  HRESULT         __fastcall get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamily(void);
  HRESULT         __fastcall get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAssembly(void);
  HRESULT         __fastcall get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyAndAssembly(void);
  HRESULT         __fastcall get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyOrAssembly(void);
  HRESULT         __fastcall get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsStatic(void);
  HRESULT         __fastcall get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFinal(void);
  HRESULT         __fastcall get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsVirtual(void);
  HRESULT         __fastcall get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsHideBySig(void);
  HRESULT         __fastcall get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAbstract(void);
  HRESULT         __fastcall get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSpecialName(void);
  HRESULT         __fastcall get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsConstructor(void);
  HRESULT         __fastcall Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
  __property   Mscorlib_tlb::RuntimeMethodHandle MethodHandle = {read = get_MethodHandle};
  __property   Mscorlib_tlb::MethodAttributes Attributes = {read = get_Attributes};
  __property   Mscorlib_tlb::CallingConventions CallingConvention = {read = get_CallingConvention};
  __property   TOLEBOOL        IsPublic = {read = get_IsPublic};
  __property   TOLEBOOL        IsPrivate = {read = get_IsPrivate};
  __property   TOLEBOOL        IsFamily = {read = get_IsFamily};
  __property   TOLEBOOL        IsAssembly = {read = get_IsAssembly};
  __property   TOLEBOOL        IsFamilyAndAssembly = {read = get_IsFamilyAndAssembly};
  __property   TOLEBOOL        IsFamilyOrAssembly = {read = get_IsFamilyOrAssembly};
  __property   TOLEBOOL        IsStatic = {read = get_IsStatic};
  __property   TOLEBOOL        IsFinal = {read = get_IsFinal};
  __property   TOLEBOOL        IsVirtual = {read = get_IsVirtual};
  __property   TOLEBOOL        IsHideBySig = {read = get_IsHideBySig};
  __property   TOLEBOOL        IsAbstract = {read = get_IsAbstract};
  __property   TOLEBOOL        IsSpecialName = {read = get_IsSpecialName};
  __property   TOLEBOOL        IsConstructor = {read = get_IsConstructor};
};
typedef TCOM_MethodBaseT<_MethodBase> TCOM_MethodBase;

// *********************************************************************//
// SmartIntf: TCOM_MethodInfo
// Interface: _MethodInfo
// *********************************************************************//
template <class T /* _MethodInfo */ >
class TCOM_MethodInfoT : public TComInterface<_MethodInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodInfoT() {}
  TCOM_MethodInfoT(_MethodInfo *intf, bool addRef = false) : TComInterface<_MethodInfo>(intf, addRef) {}
  TCOM_MethodInfoT(const TCOM_MethodInfoT& src) : TComInterface<_MethodInfo>(src) {}
  TCOM_MethodInfoT& operator=(const TCOM_MethodInfoT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetParameters(void);
  HRESULT         __fastcall GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MethodImplAttributes __fastcall GetMethodImplementationFlags(void);
  HRESULT         __fastcall get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::RuntimeMethodHandle __fastcall get_MethodHandle(void);
  HRESULT         __fastcall get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MethodAttributes __fastcall get_Attributes(void);
  HRESULT         __fastcall get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::CallingConventions __fastcall get_CallingConvention(void);
  HRESULT         __fastcall Invoke_2(TVariantInParam obj/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_2(TVariantInParam obj/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPublic(void);
  HRESULT         __fastcall get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPrivate(void);
  HRESULT         __fastcall get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamily(void);
  HRESULT         __fastcall get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAssembly(void);
  HRESULT         __fastcall get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyAndAssembly(void);
  HRESULT         __fastcall get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyOrAssembly(void);
  HRESULT         __fastcall get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsStatic(void);
  HRESULT         __fastcall get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFinal(void);
  HRESULT         __fastcall get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsVirtual(void);
  HRESULT         __fastcall get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsHideBySig(void);
  HRESULT         __fastcall get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAbstract(void);
  HRESULT         __fastcall get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSpecialName(void);
  HRESULT         __fastcall get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsConstructor(void);
  HRESULT         __fastcall Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/);
  HRESULT         __fastcall get_returnType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_returnType(void);
  HRESULT         __fastcall get_ReturnTypeCustomAttributes(Mscorlib_tlb::ICustomAttributeProviderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ICustomAttributeProviderPtr __fastcall get_ReturnTypeCustomAttributes(void);
  HRESULT         __fastcall GetBaseDefinition(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetBaseDefinition(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
  __property   Mscorlib_tlb::RuntimeMethodHandle MethodHandle = {read = get_MethodHandle};
  __property   Mscorlib_tlb::MethodAttributes Attributes = {read = get_Attributes};
  __property   Mscorlib_tlb::CallingConventions CallingConvention = {read = get_CallingConvention};
  __property   TOLEBOOL        IsPublic = {read = get_IsPublic};
  __property   TOLEBOOL        IsPrivate = {read = get_IsPrivate};
  __property   TOLEBOOL        IsFamily = {read = get_IsFamily};
  __property   TOLEBOOL        IsAssembly = {read = get_IsAssembly};
  __property   TOLEBOOL        IsFamilyAndAssembly = {read = get_IsFamilyAndAssembly};
  __property   TOLEBOOL        IsFamilyOrAssembly = {read = get_IsFamilyOrAssembly};
  __property   TOLEBOOL        IsStatic = {read = get_IsStatic};
  __property   TOLEBOOL        IsFinal = {read = get_IsFinal};
  __property   TOLEBOOL        IsVirtual = {read = get_IsVirtual};
  __property   TOLEBOOL        IsHideBySig = {read = get_IsHideBySig};
  __property   TOLEBOOL        IsAbstract = {read = get_IsAbstract};
  __property   TOLEBOOL        IsSpecialName = {read = get_IsSpecialName};
  __property   TOLEBOOL        IsConstructor = {read = get_IsConstructor};
  __property   Mscorlib_tlb::_TypePtr returnType = {read = get_returnType};
  __property   Mscorlib_tlb::ICustomAttributeProviderPtr ReturnTypeCustomAttributes = {read = get_ReturnTypeCustomAttributes};
};
typedef TCOM_MethodInfoT<_MethodInfo> TCOM_MethodInfo;

// *********************************************************************//
// SmartIntf: TCOM_ConstructorInfo
// Interface: _ConstructorInfo
// *********************************************************************//
template <class T /* _ConstructorInfo */ >
class TCOM_ConstructorInfoT : public TComInterface<_ConstructorInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ConstructorInfoT() {}
  TCOM_ConstructorInfoT(_ConstructorInfo *intf, bool addRef = false) : TComInterface<_ConstructorInfo>(intf, addRef) {}
  TCOM_ConstructorInfoT(const TCOM_ConstructorInfoT& src) : TComInterface<_ConstructorInfo>(src) {}
  TCOM_ConstructorInfoT& operator=(const TCOM_ConstructorInfoT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetParameters(void);
  HRESULT         __fastcall GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MethodImplAttributes __fastcall GetMethodImplementationFlags(void);
  HRESULT         __fastcall get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::RuntimeMethodHandle __fastcall get_MethodHandle(void);
  HRESULT         __fastcall get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MethodAttributes __fastcall get_Attributes(void);
  HRESULT         __fastcall get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::CallingConventions __fastcall get_CallingConvention(void);
  HRESULT         __fastcall Invoke_2(TVariantInParam obj/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_2(TVariantInParam obj/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPublic(void);
  HRESULT         __fastcall get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPrivate(void);
  HRESULT         __fastcall get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamily(void);
  HRESULT         __fastcall get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAssembly(void);
  HRESULT         __fastcall get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyAndAssembly(void);
  HRESULT         __fastcall get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyOrAssembly(void);
  HRESULT         __fastcall get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsStatic(void);
  HRESULT         __fastcall get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFinal(void);
  HRESULT         __fastcall get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsVirtual(void);
  HRESULT         __fastcall get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsHideBySig(void);
  HRESULT         __fastcall get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAbstract(void);
  HRESULT         __fastcall get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSpecialName(void);
  HRESULT         __fastcall get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsConstructor(void);
  HRESULT         __fastcall Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/);
  HRESULT         __fastcall Invoke_4(Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_4(Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      LPSAFEARRAY parameters/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall Invoke_5(LPSAFEARRAY parameters/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Invoke_5(LPSAFEARRAY parameters/*[in]*/);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
  __property   Mscorlib_tlb::RuntimeMethodHandle MethodHandle = {read = get_MethodHandle};
  __property   Mscorlib_tlb::MethodAttributes Attributes = {read = get_Attributes};
  __property   Mscorlib_tlb::CallingConventions CallingConvention = {read = get_CallingConvention};
  __property   TOLEBOOL        IsPublic = {read = get_IsPublic};
  __property   TOLEBOOL        IsPrivate = {read = get_IsPrivate};
  __property   TOLEBOOL        IsFamily = {read = get_IsFamily};
  __property   TOLEBOOL        IsAssembly = {read = get_IsAssembly};
  __property   TOLEBOOL        IsFamilyAndAssembly = {read = get_IsFamilyAndAssembly};
  __property   TOLEBOOL        IsFamilyOrAssembly = {read = get_IsFamilyOrAssembly};
  __property   TOLEBOOL        IsStatic = {read = get_IsStatic};
  __property   TOLEBOOL        IsFinal = {read = get_IsFinal};
  __property   TOLEBOOL        IsVirtual = {read = get_IsVirtual};
  __property   TOLEBOOL        IsHideBySig = {read = get_IsHideBySig};
  __property   TOLEBOOL        IsAbstract = {read = get_IsAbstract};
  __property   TOLEBOOL        IsSpecialName = {read = get_IsSpecialName};
  __property   TOLEBOOL        IsConstructor = {read = get_IsConstructor};
};
typedef TCOM_ConstructorInfoT<_ConstructorInfo> TCOM_ConstructorInfo;

// *********************************************************************//
// SmartIntf: TCOM_FieldInfo
// Interface: _FieldInfo
// *********************************************************************//
template <class T /* _FieldInfo */ >
class TCOM_FieldInfoT : public TComInterface<_FieldInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FieldInfoT() {}
  TCOM_FieldInfoT(_FieldInfo *intf, bool addRef = false) : TComInterface<_FieldInfo>(intf, addRef) {}
  TCOM_FieldInfoT(const TCOM_FieldInfoT& src) : TComInterface<_FieldInfo>(src) {}
  TCOM_FieldInfoT& operator=(const TCOM_FieldInfoT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall get_FieldType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_FieldType(void);
  HRESULT         __fastcall GetValue(TVariantInParam obj/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetValue(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetValueDirect(TVariantInParam obj/*[in]*/, 
                                            TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetValueDirect(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall SetValue(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/, 
                                      Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                      Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                      Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall SetValueDirect(TVariantInParam obj/*[in]*/, 
                                            TVariantInParam value/*[in]*/);
  HRESULT         __fastcall get_FieldHandle(Mscorlib_tlb::RuntimeFieldHandle* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::RuntimeFieldHandle __fastcall get_FieldHandle(void);
  HRESULT         __fastcall get_Attributes(Mscorlib_tlb::FieldAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::FieldAttributes __fastcall get_Attributes(void);
  HRESULT         __fastcall SetValue_2(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/);
  HRESULT         __fastcall get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPublic(void);
  HRESULT         __fastcall get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPrivate(void);
  HRESULT         __fastcall get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamily(void);
  HRESULT         __fastcall get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAssembly(void);
  HRESULT         __fastcall get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyAndAssembly(void);
  HRESULT         __fastcall get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsFamilyOrAssembly(void);
  HRESULT         __fastcall get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsStatic(void);
  HRESULT         __fastcall get_IsInitOnly(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsInitOnly(void);
  HRESULT         __fastcall get_IsLiteral(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsLiteral(void);
  HRESULT         __fastcall get_IsNotSerialized(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsNotSerialized(void);
  HRESULT         __fastcall get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSpecialName(void);
  HRESULT         __fastcall get_IsPinvokeImpl(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsPinvokeImpl(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
  __property   Mscorlib_tlb::_TypePtr FieldType = {read = get_FieldType};
  __property   Mscorlib_tlb::RuntimeFieldHandle FieldHandle = {read = get_FieldHandle};
  __property   Mscorlib_tlb::FieldAttributes Attributes = {read = get_Attributes};
  __property   TOLEBOOL        IsPublic = {read = get_IsPublic};
  __property   TOLEBOOL        IsPrivate = {read = get_IsPrivate};
  __property   TOLEBOOL        IsFamily = {read = get_IsFamily};
  __property   TOLEBOOL        IsAssembly = {read = get_IsAssembly};
  __property   TOLEBOOL        IsFamilyAndAssembly = {read = get_IsFamilyAndAssembly};
  __property   TOLEBOOL        IsFamilyOrAssembly = {read = get_IsFamilyOrAssembly};
  __property   TOLEBOOL        IsStatic = {read = get_IsStatic};
  __property   TOLEBOOL        IsInitOnly = {read = get_IsInitOnly};
  __property   TOLEBOOL        IsLiteral = {read = get_IsLiteral};
  __property   TOLEBOOL        IsNotSerialized = {read = get_IsNotSerialized};
  __property   TOLEBOOL        IsSpecialName = {read = get_IsSpecialName};
  __property   TOLEBOOL        IsPinvokeImpl = {read = get_IsPinvokeImpl};
};
typedef TCOM_FieldInfoT<_FieldInfo> TCOM_FieldInfo;

// *********************************************************************//
// SmartIntf: TCOM_PropertyInfo
// Interface: _PropertyInfo
// *********************************************************************//
template <class T /* _PropertyInfo */ >
class TCOM_PropertyInfoT : public TComInterface<_PropertyInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PropertyInfoT() {}
  TCOM_PropertyInfoT(_PropertyInfo *intf, bool addRef = false) : TComInterface<_PropertyInfo>(intf, addRef) {}
  TCOM_PropertyInfoT(const TCOM_PropertyInfoT& src) : TComInterface<_PropertyInfo>(src) {}
  TCOM_PropertyInfoT& operator=(const TCOM_PropertyInfoT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall get_PropertyType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_PropertyType(void);
  HRESULT         __fastcall GetValue(TVariantInParam obj/*[in]*/, LPSAFEARRAY index/*[in]*/, 
                                      TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetValue(TVariantInParam obj/*[in]*/, LPSAFEARRAY index/*[in]*/);
  HRESULT         __fastcall GetValue_2(TVariantInParam obj/*[in]*/, 
                                        Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                        Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                        LPSAFEARRAY index/*[in]*/, 
                                        Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                        TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetValue_2(TVariantInParam obj/*[in]*/, 
                                        Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                        Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                        LPSAFEARRAY index/*[in]*/, 
                                        Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall SetValue(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/, 
                                      LPSAFEARRAY index/*[in]*/);
  HRESULT         __fastcall SetValue_2(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/, 
                                        Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                        Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                        LPSAFEARRAY index/*[in]*/, 
                                        Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/);
  HRESULT         __fastcall GetAccessors(TOLEBOOL nonPublic/*[in]*/, 
                                          LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetAccessors(TOLEBOOL nonPublic/*[in]*/);
  HRESULT         __fastcall GetGetMethod(TOLEBOOL nonPublic/*[in]*/, 
                                          Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetGetMethod(TOLEBOOL nonPublic/*[in]*/);
  HRESULT         __fastcall GetSetMethod(TOLEBOOL nonPublic/*[in]*/, 
                                          Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetSetMethod(TOLEBOOL nonPublic/*[in]*/);
  HRESULT         __fastcall GetIndexParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetIndexParameters(void);
  HRESULT         __fastcall get_Attributes(Mscorlib_tlb::PropertyAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::PropertyAttributes __fastcall get_Attributes(void);
  HRESULT         __fastcall get_CanRead(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_CanRead(void);
  HRESULT         __fastcall get_CanWrite(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_CanWrite(void);
  HRESULT         __fastcall GetAccessors_2(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetAccessors_2(void);
  HRESULT         __fastcall GetGetMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetGetMethod_2(void);
  HRESULT         __fastcall GetSetMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetSetMethod_2(void);
  HRESULT         __fastcall get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSpecialName(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
  __property   Mscorlib_tlb::_TypePtr PropertyType = {read = get_PropertyType};
  __property   Mscorlib_tlb::PropertyAttributes Attributes = {read = get_Attributes};
  __property   TOLEBOOL        CanRead = {read = get_CanRead};
  __property   TOLEBOOL        CanWrite = {read = get_CanWrite};
  __property   TOLEBOOL        IsSpecialName = {read = get_IsSpecialName};
};
typedef TCOM_PropertyInfoT<_PropertyInfo> TCOM_PropertyInfo;

// *********************************************************************//
// SmartIntf: TCOM_EventInfo
// Interface: _EventInfo
// *********************************************************************//
template <class T /* _EventInfo */ >
class TCOM_EventInfoT : public TComInterface<_EventInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EventInfoT() {}
  TCOM_EventInfoT(_EventInfo *intf, bool addRef = false) : TComInterface<_EventInfo>(intf, addRef) {}
  TCOM_EventInfoT(const TCOM_EventInfoT& src) : TComInterface<_EventInfo>(src) {}
  TCOM_EventInfoT& operator=(const TCOM_EventInfoT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam other/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::MemberTypes __fastcall get_MemberType(void);
  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_DeclaringType(void);
  HRESULT         __fastcall get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ReflectedType(void);
  HRESULT         __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                 TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                   LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/);
  HRESULT         __fastcall GetAddMethod(TOLEBOOL nonPublic/*[in]*/, 
                                          Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetAddMethod(TOLEBOOL nonPublic/*[in]*/);
  HRESULT         __fastcall GetRemoveMethod(TOLEBOOL nonPublic/*[in]*/, 
                                             Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetRemoveMethod(TOLEBOOL nonPublic/*[in]*/);
  HRESULT         __fastcall GetRaiseMethod(TOLEBOOL nonPublic/*[in]*/, 
                                            Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetRaiseMethod(TOLEBOOL nonPublic/*[in]*/);
  HRESULT         __fastcall get_Attributes(Mscorlib_tlb::EventAttributes* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::EventAttributes __fastcall get_Attributes(void);
  HRESULT         __fastcall GetAddMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetAddMethod_2(void);
  HRESULT         __fastcall GetRemoveMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetRemoveMethod_2(void);
  HRESULT         __fastcall GetRaiseMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall GetRaiseMethod_2(void);
  HRESULT         __fastcall AddEventHandler(TVariantInParam Target/*[in]*/, 
                                             Mscorlib_tlb::_DelegatePtr handler/*[in]*/);
  HRESULT         __fastcall RemoveEventHandler(TVariantInParam Target/*[in]*/, 
                                                Mscorlib_tlb::_DelegatePtr handler/*[in]*/);
  HRESULT         __fastcall get_EventHandlerType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_EventHandlerType(void);
  HRESULT         __fastcall get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsSpecialName(void);
  HRESULT         __fastcall get_IsMulticast(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsMulticast(void);

  __property   BSTR            ToString = {read = get_ToString};
  __property   Mscorlib_tlb::MemberTypes MemberType = {read = get_MemberType};
  __property   BSTR            name = {read = get_name};
  __property   Mscorlib_tlb::_TypePtr DeclaringType = {read = get_DeclaringType};
  __property   Mscorlib_tlb::_TypePtr ReflectedType = {read = get_ReflectedType};
  __property   Mscorlib_tlb::EventAttributes Attributes = {read = get_Attributes};
  __property   Mscorlib_tlb::_TypePtr EventHandlerType = {read = get_EventHandlerType};
  __property   TOLEBOOL        IsSpecialName = {read = get_IsSpecialName};
  __property   TOLEBOOL        IsMulticast = {read = get_IsMulticast};
};
typedef TCOM_EventInfoT<_EventInfo> TCOM_EventInfo;

// *********************************************************************//
// SmartIntf: TCOM_ParameterInfo
// Interface: _ParameterInfo
// *********************************************************************//
template <class T /* _ParameterInfo */ >
class TCOM_ParameterInfoT : public TComInterface<_ParameterInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ParameterInfoT() {}
  TCOM_ParameterInfoT(_ParameterInfo *intf, bool addRef = false) : TComInterface<_ParameterInfo>(intf, addRef) {}
  TCOM_ParameterInfoT(const TCOM_ParameterInfoT& src) : TComInterface<_ParameterInfo>(src) {}
  TCOM_ParameterInfoT& operator=(const TCOM_ParameterInfoT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ParameterInfoT<_ParameterInfo> TCOM_ParameterInfo;

// *********************************************************************//
// SmartIntf: TCOM_Module
// Interface: _Module
// *********************************************************************//
template <class T /* _Module */ >
class TCOM_ModuleT : public TComInterface<_Module>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ModuleT() {}
  TCOM_ModuleT(_Module *intf, bool addRef = false) : TComInterface<_Module>(intf, addRef) {}
  TCOM_ModuleT(const TCOM_ModuleT& src) : TComInterface<_Module>(src) {}
  TCOM_ModuleT& operator=(const TCOM_ModuleT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ModuleT<_Module> TCOM_Module;

// *********************************************************************//
// SmartIntf: TCOM_CustomAttributeData
// Interface: _CustomAttributeData
// *********************************************************************//
template <class T /* _CustomAttributeData */ >
class TCOM_CustomAttributeDataT : public TComInterface<_CustomAttributeData>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CustomAttributeDataT() {}
  TCOM_CustomAttributeDataT(_CustomAttributeData *intf, bool addRef = false) : TComInterface<_CustomAttributeData>(intf, addRef) {}
  TCOM_CustomAttributeDataT(const TCOM_CustomAttributeDataT& src) : TComInterface<_CustomAttributeData>(src) {}
  TCOM_CustomAttributeDataT& operator=(const TCOM_CustomAttributeDataT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CustomAttributeDataT<_CustomAttributeData> TCOM_CustomAttributeData;

// *********************************************************************//
// DispIntf:  _CustomAttributeData
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4E5539D-0A65-3073-BF27-8DCE8EF1DEF1}
// *********************************************************************//
template<class T>
class _CustomAttributeDataDispT : public TAutoDriver<_CustomAttributeData>
{
public:
  _CustomAttributeDataDispT(){}

  _CustomAttributeDataDispT(_CustomAttributeData *pintf)
  {
    TAutoDriver<_CustomAttributeData>::Bind(pintf, false);
  }

  _CustomAttributeDataDispT(_CustomAttributeDataPtr pintf)
  {
    TAutoDriver<_CustomAttributeData>::Bind(pintf, true);
  }

  _CustomAttributeDataDispT& operator=(_CustomAttributeData *pintf)
  {
    TAutoDriver<_CustomAttributeData>::Bind(pintf, false);
    return *this;
  }

  _CustomAttributeDataDispT& operator=(_CustomAttributeDataPtr pintf)
  {
    TAutoDriver<_CustomAttributeData>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CustomAttributeData));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CustomAttributeData);
  }


};
typedef _CustomAttributeDataDispT<_CustomAttributeData> _CustomAttributeDataDisp;

// *********************************************************************//
// SmartIntf: TCOM_DefaultMemberAttribute
// Interface: _DefaultMemberAttribute
// *********************************************************************//
template <class T /* _DefaultMemberAttribute */ >
class TCOM_DefaultMemberAttributeT : public TComInterface<_DefaultMemberAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DefaultMemberAttributeT() {}
  TCOM_DefaultMemberAttributeT(_DefaultMemberAttribute *intf, bool addRef = false) : TComInterface<_DefaultMemberAttribute>(intf, addRef) {}
  TCOM_DefaultMemberAttributeT(const TCOM_DefaultMemberAttributeT& src) : TComInterface<_DefaultMemberAttribute>(src) {}
  TCOM_DefaultMemberAttributeT& operator=(const TCOM_DefaultMemberAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DefaultMemberAttributeT<_DefaultMemberAttribute> TCOM_DefaultMemberAttribute;

// *********************************************************************//
// DispIntf:  _DefaultMemberAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C462B072-FE6E-3BDC-9FAB-4CDBFCBCD124}
// *********************************************************************//
template<class T>
class _DefaultMemberAttributeDispT : public TAutoDriver<_DefaultMemberAttribute>
{
public:
  _DefaultMemberAttributeDispT(){}

  _DefaultMemberAttributeDispT(_DefaultMemberAttribute *pintf)
  {
    TAutoDriver<_DefaultMemberAttribute>::Bind(pintf, false);
  }

  _DefaultMemberAttributeDispT(_DefaultMemberAttributePtr pintf)
  {
    TAutoDriver<_DefaultMemberAttribute>::Bind(pintf, true);
  }

  _DefaultMemberAttributeDispT& operator=(_DefaultMemberAttribute *pintf)
  {
    TAutoDriver<_DefaultMemberAttribute>::Bind(pintf, false);
    return *this;
  }

  _DefaultMemberAttributeDispT& operator=(_DefaultMemberAttributePtr pintf)
  {
    TAutoDriver<_DefaultMemberAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DefaultMemberAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DefaultMemberAttribute);
  }


};
typedef _DefaultMemberAttributeDispT<_DefaultMemberAttribute> _DefaultMemberAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_InvalidFilterCriteriaException
// Interface: _InvalidFilterCriteriaException
// *********************************************************************//
template <class T /* _InvalidFilterCriteriaException */ >
class TCOM_InvalidFilterCriteriaExceptionT : public TComInterface<_InvalidFilterCriteriaException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InvalidFilterCriteriaExceptionT() {}
  TCOM_InvalidFilterCriteriaExceptionT(_InvalidFilterCriteriaException *intf, bool addRef = false) : TComInterface<_InvalidFilterCriteriaException>(intf, addRef) {}
  TCOM_InvalidFilterCriteriaExceptionT(const TCOM_InvalidFilterCriteriaExceptionT& src) : TComInterface<_InvalidFilterCriteriaException>(src) {}
  TCOM_InvalidFilterCriteriaExceptionT& operator=(const TCOM_InvalidFilterCriteriaExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InvalidFilterCriteriaExceptionT<_InvalidFilterCriteriaException> TCOM_InvalidFilterCriteriaException;

// *********************************************************************//
// DispIntf:  _InvalidFilterCriteriaException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E6DF0AE7-BA15-3F80-8AFA-27773AE414FC}
// *********************************************************************//
template<class T>
class _InvalidFilterCriteriaExceptionDispT : public TAutoDriver<_InvalidFilterCriteriaException>
{
public:
  _InvalidFilterCriteriaExceptionDispT(){}

  _InvalidFilterCriteriaExceptionDispT(_InvalidFilterCriteriaException *pintf)
  {
    TAutoDriver<_InvalidFilterCriteriaException>::Bind(pintf, false);
  }

  _InvalidFilterCriteriaExceptionDispT(_InvalidFilterCriteriaExceptionPtr pintf)
  {
    TAutoDriver<_InvalidFilterCriteriaException>::Bind(pintf, true);
  }

  _InvalidFilterCriteriaExceptionDispT& operator=(_InvalidFilterCriteriaException *pintf)
  {
    TAutoDriver<_InvalidFilterCriteriaException>::Bind(pintf, false);
    return *this;
  }

  _InvalidFilterCriteriaExceptionDispT& operator=(_InvalidFilterCriteriaExceptionPtr pintf)
  {
    TAutoDriver<_InvalidFilterCriteriaException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InvalidFilterCriteriaException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InvalidFilterCriteriaException);
  }


};
typedef _InvalidFilterCriteriaExceptionDispT<_InvalidFilterCriteriaException> _InvalidFilterCriteriaExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ManifestResourceInfo
// Interface: _ManifestResourceInfo
// *********************************************************************//
template <class T /* _ManifestResourceInfo */ >
class TCOM_ManifestResourceInfoT : public TComInterface<_ManifestResourceInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ManifestResourceInfoT() {}
  TCOM_ManifestResourceInfoT(_ManifestResourceInfo *intf, bool addRef = false) : TComInterface<_ManifestResourceInfo>(intf, addRef) {}
  TCOM_ManifestResourceInfoT(const TCOM_ManifestResourceInfoT& src) : TComInterface<_ManifestResourceInfo>(src) {}
  TCOM_ManifestResourceInfoT& operator=(const TCOM_ManifestResourceInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ManifestResourceInfoT<_ManifestResourceInfo> TCOM_ManifestResourceInfo;

// *********************************************************************//
// DispIntf:  _ManifestResourceInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3188878C-DEB3-3558-80E8-84E9ED95F92C}
// *********************************************************************//
template<class T>
class _ManifestResourceInfoDispT : public TAutoDriver<_ManifestResourceInfo>
{
public:
  _ManifestResourceInfoDispT(){}

  _ManifestResourceInfoDispT(_ManifestResourceInfo *pintf)
  {
    TAutoDriver<_ManifestResourceInfo>::Bind(pintf, false);
  }

  _ManifestResourceInfoDispT(_ManifestResourceInfoPtr pintf)
  {
    TAutoDriver<_ManifestResourceInfo>::Bind(pintf, true);
  }

  _ManifestResourceInfoDispT& operator=(_ManifestResourceInfo *pintf)
  {
    TAutoDriver<_ManifestResourceInfo>::Bind(pintf, false);
    return *this;
  }

  _ManifestResourceInfoDispT& operator=(_ManifestResourceInfoPtr pintf)
  {
    TAutoDriver<_ManifestResourceInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ManifestResourceInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ManifestResourceInfo);
  }


};
typedef _ManifestResourceInfoDispT<_ManifestResourceInfo> _ManifestResourceInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_MemberFilter
// Interface: _MemberFilter
// *********************************************************************//
template <class T /* _MemberFilter */ >
class TCOM_MemberFilterT : public TComInterface<_MemberFilter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MemberFilterT() {}
  TCOM_MemberFilterT(_MemberFilter *intf, bool addRef = false) : TComInterface<_MemberFilter>(intf, addRef) {}
  TCOM_MemberFilterT(const TCOM_MemberFilterT& src) : TComInterface<_MemberFilter>(src) {}
  TCOM_MemberFilterT& operator=(const TCOM_MemberFilterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MemberFilterT<_MemberFilter> TCOM_MemberFilter;

// *********************************************************************//
// DispIntf:  _MemberFilter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FAE5D9B7-40C1-3DE1-BE06-A91C9DA1BA9F}
// *********************************************************************//
template<class T>
class _MemberFilterDispT : public TAutoDriver<_MemberFilter>
{
public:
  _MemberFilterDispT(){}

  _MemberFilterDispT(_MemberFilter *pintf)
  {
    TAutoDriver<_MemberFilter>::Bind(pintf, false);
  }

  _MemberFilterDispT(_MemberFilterPtr pintf)
  {
    TAutoDriver<_MemberFilter>::Bind(pintf, true);
  }

  _MemberFilterDispT& operator=(_MemberFilter *pintf)
  {
    TAutoDriver<_MemberFilter>::Bind(pintf, false);
    return *this;
  }

  _MemberFilterDispT& operator=(_MemberFilterPtr pintf)
  {
    TAutoDriver<_MemberFilter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MemberFilter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MemberFilter);
  }


};
typedef _MemberFilterDispT<_MemberFilter> _MemberFilterDisp;

// *********************************************************************//
// SmartIntf: TCOM_Missing
// Interface: _Missing
// *********************************************************************//
template <class T /* _Missing */ >
class TCOM_MissingT : public TComInterface<_Missing>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MissingT() {}
  TCOM_MissingT(_Missing *intf, bool addRef = false) : TComInterface<_Missing>(intf, addRef) {}
  TCOM_MissingT(const TCOM_MissingT& src) : TComInterface<_Missing>(src) {}
  TCOM_MissingT& operator=(const TCOM_MissingT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MissingT<_Missing> TCOM_Missing;

// *********************************************************************//
// DispIntf:  _Missing
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0C48F55D-5240-30C7-A8F1-AF87A640CEFE}
// *********************************************************************//
template<class T>
class _MissingDispT : public TAutoDriver<_Missing>
{
public:
  _MissingDispT(){}

  _MissingDispT(_Missing *pintf)
  {
    TAutoDriver<_Missing>::Bind(pintf, false);
  }

  _MissingDispT(_MissingPtr pintf)
  {
    TAutoDriver<_Missing>::Bind(pintf, true);
  }

  _MissingDispT& operator=(_Missing *pintf)
  {
    TAutoDriver<_Missing>::Bind(pintf, false);
    return *this;
  }

  _MissingDispT& operator=(_MissingPtr pintf)
  {
    TAutoDriver<_Missing>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Missing));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Missing);
  }


};
typedef _MissingDispT<_Missing> _MissingDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObfuscateAssemblyAttribute
// Interface: _ObfuscateAssemblyAttribute
// *********************************************************************//
template <class T /* _ObfuscateAssemblyAttribute */ >
class TCOM_ObfuscateAssemblyAttributeT : public TComInterface<_ObfuscateAssemblyAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObfuscateAssemblyAttributeT() {}
  TCOM_ObfuscateAssemblyAttributeT(_ObfuscateAssemblyAttribute *intf, bool addRef = false) : TComInterface<_ObfuscateAssemblyAttribute>(intf, addRef) {}
  TCOM_ObfuscateAssemblyAttributeT(const TCOM_ObfuscateAssemblyAttributeT& src) : TComInterface<_ObfuscateAssemblyAttribute>(src) {}
  TCOM_ObfuscateAssemblyAttributeT& operator=(const TCOM_ObfuscateAssemblyAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObfuscateAssemblyAttributeT<_ObfuscateAssemblyAttribute> TCOM_ObfuscateAssemblyAttribute;

// *********************************************************************//
// DispIntf:  _ObfuscateAssemblyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8A5F0DA2-7B43-3767-B623-2424CF7CD268}
// *********************************************************************//
template<class T>
class _ObfuscateAssemblyAttributeDispT : public TAutoDriver<_ObfuscateAssemblyAttribute>
{
public:
  _ObfuscateAssemblyAttributeDispT(){}

  _ObfuscateAssemblyAttributeDispT(_ObfuscateAssemblyAttribute *pintf)
  {
    TAutoDriver<_ObfuscateAssemblyAttribute>::Bind(pintf, false);
  }

  _ObfuscateAssemblyAttributeDispT(_ObfuscateAssemblyAttributePtr pintf)
  {
    TAutoDriver<_ObfuscateAssemblyAttribute>::Bind(pintf, true);
  }

  _ObfuscateAssemblyAttributeDispT& operator=(_ObfuscateAssemblyAttribute *pintf)
  {
    TAutoDriver<_ObfuscateAssemblyAttribute>::Bind(pintf, false);
    return *this;
  }

  _ObfuscateAssemblyAttributeDispT& operator=(_ObfuscateAssemblyAttributePtr pintf)
  {
    TAutoDriver<_ObfuscateAssemblyAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObfuscateAssemblyAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObfuscateAssemblyAttribute);
  }


};
typedef _ObfuscateAssemblyAttributeDispT<_ObfuscateAssemblyAttribute> _ObfuscateAssemblyAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObfuscationAttribute
// Interface: _ObfuscationAttribute
// *********************************************************************//
template <class T /* _ObfuscationAttribute */ >
class TCOM_ObfuscationAttributeT : public TComInterface<_ObfuscationAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObfuscationAttributeT() {}
  TCOM_ObfuscationAttributeT(_ObfuscationAttribute *intf, bool addRef = false) : TComInterface<_ObfuscationAttribute>(intf, addRef) {}
  TCOM_ObfuscationAttributeT(const TCOM_ObfuscationAttributeT& src) : TComInterface<_ObfuscationAttribute>(src) {}
  TCOM_ObfuscationAttributeT& operator=(const TCOM_ObfuscationAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObfuscationAttributeT<_ObfuscationAttribute> TCOM_ObfuscationAttribute;

// *********************************************************************//
// DispIntf:  _ObfuscationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {71FB8DCF-3FA7-3483-8464-9D8200E57C43}
// *********************************************************************//
template<class T>
class _ObfuscationAttributeDispT : public TAutoDriver<_ObfuscationAttribute>
{
public:
  _ObfuscationAttributeDispT(){}

  _ObfuscationAttributeDispT(_ObfuscationAttribute *pintf)
  {
    TAutoDriver<_ObfuscationAttribute>::Bind(pintf, false);
  }

  _ObfuscationAttributeDispT(_ObfuscationAttributePtr pintf)
  {
    TAutoDriver<_ObfuscationAttribute>::Bind(pintf, true);
  }

  _ObfuscationAttributeDispT& operator=(_ObfuscationAttribute *pintf)
  {
    TAutoDriver<_ObfuscationAttribute>::Bind(pintf, false);
    return *this;
  }

  _ObfuscationAttributeDispT& operator=(_ObfuscationAttributePtr pintf)
  {
    TAutoDriver<_ObfuscationAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObfuscationAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObfuscationAttribute);
  }


};
typedef _ObfuscationAttributeDispT<_ObfuscationAttribute> _ObfuscationAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ExceptionHandlingClause
// Interface: _ExceptionHandlingClause
// *********************************************************************//
template <class T /* _ExceptionHandlingClause */ >
class TCOM_ExceptionHandlingClauseT : public TComInterface<_ExceptionHandlingClause>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ExceptionHandlingClauseT() {}
  TCOM_ExceptionHandlingClauseT(_ExceptionHandlingClause *intf, bool addRef = false) : TComInterface<_ExceptionHandlingClause>(intf, addRef) {}
  TCOM_ExceptionHandlingClauseT(const TCOM_ExceptionHandlingClauseT& src) : TComInterface<_ExceptionHandlingClause>(src) {}
  TCOM_ExceptionHandlingClauseT& operator=(const TCOM_ExceptionHandlingClauseT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ExceptionHandlingClauseT<_ExceptionHandlingClause> TCOM_ExceptionHandlingClause;

// *********************************************************************//
// DispIntf:  _ExceptionHandlingClause
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {643A4016-1B16-3CCF-AE86-9C2D9135ECB0}
// *********************************************************************//
template<class T>
class _ExceptionHandlingClauseDispT : public TAutoDriver<_ExceptionHandlingClause>
{
public:
  _ExceptionHandlingClauseDispT(){}

  _ExceptionHandlingClauseDispT(_ExceptionHandlingClause *pintf)
  {
    TAutoDriver<_ExceptionHandlingClause>::Bind(pintf, false);
  }

  _ExceptionHandlingClauseDispT(_ExceptionHandlingClausePtr pintf)
  {
    TAutoDriver<_ExceptionHandlingClause>::Bind(pintf, true);
  }

  _ExceptionHandlingClauseDispT& operator=(_ExceptionHandlingClause *pintf)
  {
    TAutoDriver<_ExceptionHandlingClause>::Bind(pintf, false);
    return *this;
  }

  _ExceptionHandlingClauseDispT& operator=(_ExceptionHandlingClausePtr pintf)
  {
    TAutoDriver<_ExceptionHandlingClause>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ExceptionHandlingClause));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ExceptionHandlingClause);
  }


};
typedef _ExceptionHandlingClauseDispT<_ExceptionHandlingClause> _ExceptionHandlingClauseDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodBody
// Interface: _MethodBody
// *********************************************************************//
template <class T /* _MethodBody */ >
class TCOM_MethodBodyT : public TComInterface<_MethodBody>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodBodyT() {}
  TCOM_MethodBodyT(_MethodBody *intf, bool addRef = false) : TComInterface<_MethodBody>(intf, addRef) {}
  TCOM_MethodBodyT(const TCOM_MethodBodyT& src) : TComInterface<_MethodBody>(src) {}
  TCOM_MethodBodyT& operator=(const TCOM_MethodBodyT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MethodBodyT<_MethodBody> TCOM_MethodBody;

// *********************************************************************//
// DispIntf:  _MethodBody
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B072EFE2-C943-3977-BFD9-91D5232B0D53}
// *********************************************************************//
template<class T>
class _MethodBodyDispT : public TAutoDriver<_MethodBody>
{
public:
  _MethodBodyDispT(){}

  _MethodBodyDispT(_MethodBody *pintf)
  {
    TAutoDriver<_MethodBody>::Bind(pintf, false);
  }

  _MethodBodyDispT(_MethodBodyPtr pintf)
  {
    TAutoDriver<_MethodBody>::Bind(pintf, true);
  }

  _MethodBodyDispT& operator=(_MethodBody *pintf)
  {
    TAutoDriver<_MethodBody>::Bind(pintf, false);
    return *this;
  }

  _MethodBodyDispT& operator=(_MethodBodyPtr pintf)
  {
    TAutoDriver<_MethodBody>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MethodBody));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MethodBody);
  }


};
typedef _MethodBodyDispT<_MethodBody> _MethodBodyDisp;

// *********************************************************************//
// SmartIntf: TCOM_LocalVariableInfo
// Interface: _LocalVariableInfo
// *********************************************************************//
template <class T /* _LocalVariableInfo */ >
class TCOM_LocalVariableInfoT : public TComInterface<_LocalVariableInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LocalVariableInfoT() {}
  TCOM_LocalVariableInfoT(_LocalVariableInfo *intf, bool addRef = false) : TComInterface<_LocalVariableInfo>(intf, addRef) {}
  TCOM_LocalVariableInfoT(const TCOM_LocalVariableInfoT& src) : TComInterface<_LocalVariableInfo>(src) {}
  TCOM_LocalVariableInfoT& operator=(const TCOM_LocalVariableInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_LocalVariableInfoT<_LocalVariableInfo> TCOM_LocalVariableInfo;

// *********************************************************************//
// DispIntf:  _LocalVariableInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F2ECD8CA-91A2-31E8-B808-E028B4F5CA67}
// *********************************************************************//
template<class T>
class _LocalVariableInfoDispT : public TAutoDriver<_LocalVariableInfo>
{
public:
  _LocalVariableInfoDispT(){}

  _LocalVariableInfoDispT(_LocalVariableInfo *pintf)
  {
    TAutoDriver<_LocalVariableInfo>::Bind(pintf, false);
  }

  _LocalVariableInfoDispT(_LocalVariableInfoPtr pintf)
  {
    TAutoDriver<_LocalVariableInfo>::Bind(pintf, true);
  }

  _LocalVariableInfoDispT& operator=(_LocalVariableInfo *pintf)
  {
    TAutoDriver<_LocalVariableInfo>::Bind(pintf, false);
    return *this;
  }

  _LocalVariableInfoDispT& operator=(_LocalVariableInfoPtr pintf)
  {
    TAutoDriver<_LocalVariableInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_LocalVariableInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_LocalVariableInfo);
  }


};
typedef _LocalVariableInfoDispT<_LocalVariableInfo> _LocalVariableInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_Pointer
// Interface: _Pointer
// *********************************************************************//
template <class T /* _Pointer */ >
class TCOM_PointerT : public TComInterface<_Pointer>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PointerT() {}
  TCOM_PointerT(_Pointer *intf, bool addRef = false) : TComInterface<_Pointer>(intf, addRef) {}
  TCOM_PointerT(const TCOM_PointerT& src) : TComInterface<_Pointer>(src) {}
  TCOM_PointerT& operator=(const TCOM_PointerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PointerT<_Pointer> TCOM_Pointer;

// *********************************************************************//
// DispIntf:  _Pointer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F0DEAFE9-5EBA-3737-9950-C1795739CDCD}
// *********************************************************************//
template<class T>
class _PointerDispT : public TAutoDriver<_Pointer>
{
public:
  _PointerDispT(){}

  _PointerDispT(_Pointer *pintf)
  {
    TAutoDriver<_Pointer>::Bind(pintf, false);
  }

  _PointerDispT(_PointerPtr pintf)
  {
    TAutoDriver<_Pointer>::Bind(pintf, true);
  }

  _PointerDispT& operator=(_Pointer *pintf)
  {
    TAutoDriver<_Pointer>::Bind(pintf, false);
    return *this;
  }

  _PointerDispT& operator=(_PointerPtr pintf)
  {
    TAutoDriver<_Pointer>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Pointer));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Pointer);
  }


};
typedef _PointerDispT<_Pointer> _PointerDisp;

// *********************************************************************//
// SmartIntf: TCOM_ReflectionTypeLoadException
// Interface: _ReflectionTypeLoadException
// *********************************************************************//
template <class T /* _ReflectionTypeLoadException */ >
class TCOM_ReflectionTypeLoadExceptionT : public TComInterface<_ReflectionTypeLoadException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ReflectionTypeLoadExceptionT() {}
  TCOM_ReflectionTypeLoadExceptionT(_ReflectionTypeLoadException *intf, bool addRef = false) : TComInterface<_ReflectionTypeLoadException>(intf, addRef) {}
  TCOM_ReflectionTypeLoadExceptionT(const TCOM_ReflectionTypeLoadExceptionT& src) : TComInterface<_ReflectionTypeLoadException>(src) {}
  TCOM_ReflectionTypeLoadExceptionT& operator=(const TCOM_ReflectionTypeLoadExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ReflectionTypeLoadExceptionT<_ReflectionTypeLoadException> TCOM_ReflectionTypeLoadException;

// *********************************************************************//
// DispIntf:  _ReflectionTypeLoadException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {22C26A41-5FA3-34E3-A76F-BA480252D8EC}
// *********************************************************************//
template<class T>
class _ReflectionTypeLoadExceptionDispT : public TAutoDriver<_ReflectionTypeLoadException>
{
public:
  _ReflectionTypeLoadExceptionDispT(){}

  _ReflectionTypeLoadExceptionDispT(_ReflectionTypeLoadException *pintf)
  {
    TAutoDriver<_ReflectionTypeLoadException>::Bind(pintf, false);
  }

  _ReflectionTypeLoadExceptionDispT(_ReflectionTypeLoadExceptionPtr pintf)
  {
    TAutoDriver<_ReflectionTypeLoadException>::Bind(pintf, true);
  }

  _ReflectionTypeLoadExceptionDispT& operator=(_ReflectionTypeLoadException *pintf)
  {
    TAutoDriver<_ReflectionTypeLoadException>::Bind(pintf, false);
    return *this;
  }

  _ReflectionTypeLoadExceptionDispT& operator=(_ReflectionTypeLoadExceptionPtr pintf)
  {
    TAutoDriver<_ReflectionTypeLoadException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ReflectionTypeLoadException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ReflectionTypeLoadException);
  }


};
typedef _ReflectionTypeLoadExceptionDispT<_ReflectionTypeLoadException> _ReflectionTypeLoadExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_StrongNameKeyPair
// Interface: _StrongNameKeyPair
// *********************************************************************//
template <class T /* _StrongNameKeyPair */ >
class TCOM_StrongNameKeyPairT : public TComInterface<_StrongNameKeyPair>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StrongNameKeyPairT() {}
  TCOM_StrongNameKeyPairT(_StrongNameKeyPair *intf, bool addRef = false) : TComInterface<_StrongNameKeyPair>(intf, addRef) {}
  TCOM_StrongNameKeyPairT(const TCOM_StrongNameKeyPairT& src) : TComInterface<_StrongNameKeyPair>(src) {}
  TCOM_StrongNameKeyPairT& operator=(const TCOM_StrongNameKeyPairT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StrongNameKeyPairT<_StrongNameKeyPair> TCOM_StrongNameKeyPair;

// *********************************************************************//
// DispIntf:  _StrongNameKeyPair
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FC4963CB-E52B-32D8-A418-D058FA51A1FA}
// *********************************************************************//
template<class T>
class _StrongNameKeyPairDispT : public TAutoDriver<_StrongNameKeyPair>
{
public:
  _StrongNameKeyPairDispT(){}

  _StrongNameKeyPairDispT(_StrongNameKeyPair *pintf)
  {
    TAutoDriver<_StrongNameKeyPair>::Bind(pintf, false);
  }

  _StrongNameKeyPairDispT(_StrongNameKeyPairPtr pintf)
  {
    TAutoDriver<_StrongNameKeyPair>::Bind(pintf, true);
  }

  _StrongNameKeyPairDispT& operator=(_StrongNameKeyPair *pintf)
  {
    TAutoDriver<_StrongNameKeyPair>::Bind(pintf, false);
    return *this;
  }

  _StrongNameKeyPairDispT& operator=(_StrongNameKeyPairPtr pintf)
  {
    TAutoDriver<_StrongNameKeyPair>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StrongNameKeyPair));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StrongNameKeyPair);
  }


};
typedef _StrongNameKeyPairDispT<_StrongNameKeyPair> _StrongNameKeyPairDisp;

// *********************************************************************//
// SmartIntf: TCOM_TargetException
// Interface: _TargetException
// *********************************************************************//
template <class T /* _TargetException */ >
class TCOM_TargetExceptionT : public TComInterface<_TargetException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TargetExceptionT() {}
  TCOM_TargetExceptionT(_TargetException *intf, bool addRef = false) : TComInterface<_TargetException>(intf, addRef) {}
  TCOM_TargetExceptionT(const TCOM_TargetExceptionT& src) : TComInterface<_TargetException>(src) {}
  TCOM_TargetExceptionT& operator=(const TCOM_TargetExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TargetExceptionT<_TargetException> TCOM_TargetException;

// *********************************************************************//
// DispIntf:  _TargetException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {98B1524D-DA12-3C4B-8A69-7539A6DEC4FA}
// *********************************************************************//
template<class T>
class _TargetExceptionDispT : public TAutoDriver<_TargetException>
{
public:
  _TargetExceptionDispT(){}

  _TargetExceptionDispT(_TargetException *pintf)
  {
    TAutoDriver<_TargetException>::Bind(pintf, false);
  }

  _TargetExceptionDispT(_TargetExceptionPtr pintf)
  {
    TAutoDriver<_TargetException>::Bind(pintf, true);
  }

  _TargetExceptionDispT& operator=(_TargetException *pintf)
  {
    TAutoDriver<_TargetException>::Bind(pintf, false);
    return *this;
  }

  _TargetExceptionDispT& operator=(_TargetExceptionPtr pintf)
  {
    TAutoDriver<_TargetException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TargetException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TargetException);
  }


};
typedef _TargetExceptionDispT<_TargetException> _TargetExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_TargetInvocationException
// Interface: _TargetInvocationException
// *********************************************************************//
template <class T /* _TargetInvocationException */ >
class TCOM_TargetInvocationExceptionT : public TComInterface<_TargetInvocationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TargetInvocationExceptionT() {}
  TCOM_TargetInvocationExceptionT(_TargetInvocationException *intf, bool addRef = false) : TComInterface<_TargetInvocationException>(intf, addRef) {}
  TCOM_TargetInvocationExceptionT(const TCOM_TargetInvocationExceptionT& src) : TComInterface<_TargetInvocationException>(src) {}
  TCOM_TargetInvocationExceptionT& operator=(const TCOM_TargetInvocationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TargetInvocationExceptionT<_TargetInvocationException> TCOM_TargetInvocationException;

// *********************************************************************//
// DispIntf:  _TargetInvocationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A90106ED-9099-3329-8A5A-2044B3D8552B}
// *********************************************************************//
template<class T>
class _TargetInvocationExceptionDispT : public TAutoDriver<_TargetInvocationException>
{
public:
  _TargetInvocationExceptionDispT(){}

  _TargetInvocationExceptionDispT(_TargetInvocationException *pintf)
  {
    TAutoDriver<_TargetInvocationException>::Bind(pintf, false);
  }

  _TargetInvocationExceptionDispT(_TargetInvocationExceptionPtr pintf)
  {
    TAutoDriver<_TargetInvocationException>::Bind(pintf, true);
  }

  _TargetInvocationExceptionDispT& operator=(_TargetInvocationException *pintf)
  {
    TAutoDriver<_TargetInvocationException>::Bind(pintf, false);
    return *this;
  }

  _TargetInvocationExceptionDispT& operator=(_TargetInvocationExceptionPtr pintf)
  {
    TAutoDriver<_TargetInvocationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TargetInvocationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TargetInvocationException);
  }


};
typedef _TargetInvocationExceptionDispT<_TargetInvocationException> _TargetInvocationExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_TargetParameterCountException
// Interface: _TargetParameterCountException
// *********************************************************************//
template <class T /* _TargetParameterCountException */ >
class TCOM_TargetParameterCountExceptionT : public TComInterface<_TargetParameterCountException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TargetParameterCountExceptionT() {}
  TCOM_TargetParameterCountExceptionT(_TargetParameterCountException *intf, bool addRef = false) : TComInterface<_TargetParameterCountException>(intf, addRef) {}
  TCOM_TargetParameterCountExceptionT(const TCOM_TargetParameterCountExceptionT& src) : TComInterface<_TargetParameterCountException>(src) {}
  TCOM_TargetParameterCountExceptionT& operator=(const TCOM_TargetParameterCountExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TargetParameterCountExceptionT<_TargetParameterCountException> TCOM_TargetParameterCountException;

// *********************************************************************//
// DispIntf:  _TargetParameterCountException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6032B3CD-9BED-351C-A145-9D500B0F636F}
// *********************************************************************//
template<class T>
class _TargetParameterCountExceptionDispT : public TAutoDriver<_TargetParameterCountException>
{
public:
  _TargetParameterCountExceptionDispT(){}

  _TargetParameterCountExceptionDispT(_TargetParameterCountException *pintf)
  {
    TAutoDriver<_TargetParameterCountException>::Bind(pintf, false);
  }

  _TargetParameterCountExceptionDispT(_TargetParameterCountExceptionPtr pintf)
  {
    TAutoDriver<_TargetParameterCountException>::Bind(pintf, true);
  }

  _TargetParameterCountExceptionDispT& operator=(_TargetParameterCountException *pintf)
  {
    TAutoDriver<_TargetParameterCountException>::Bind(pintf, false);
    return *this;
  }

  _TargetParameterCountExceptionDispT& operator=(_TargetParameterCountExceptionPtr pintf)
  {
    TAutoDriver<_TargetParameterCountException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TargetParameterCountException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TargetParameterCountException);
  }


};
typedef _TargetParameterCountExceptionDispT<_TargetParameterCountException> _TargetParameterCountExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeDelegator
// Interface: _TypeDelegator
// *********************************************************************//
template <class T /* _TypeDelegator */ >
class TCOM_TypeDelegatorT : public TComInterface<_TypeDelegator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeDelegatorT() {}
  TCOM_TypeDelegatorT(_TypeDelegator *intf, bool addRef = false) : TComInterface<_TypeDelegator>(intf, addRef) {}
  TCOM_TypeDelegatorT(const TCOM_TypeDelegatorT& src) : TComInterface<_TypeDelegator>(src) {}
  TCOM_TypeDelegatorT& operator=(const TCOM_TypeDelegatorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeDelegatorT<_TypeDelegator> TCOM_TypeDelegator;

// *********************************************************************//
// DispIntf:  _TypeDelegator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {34E00EF9-83E2-3BBC-B6AF-4CAE703838BD}
// *********************************************************************//
template<class T>
class _TypeDelegatorDispT : public TAutoDriver<_TypeDelegator>
{
public:
  _TypeDelegatorDispT(){}

  _TypeDelegatorDispT(_TypeDelegator *pintf)
  {
    TAutoDriver<_TypeDelegator>::Bind(pintf, false);
  }

  _TypeDelegatorDispT(_TypeDelegatorPtr pintf)
  {
    TAutoDriver<_TypeDelegator>::Bind(pintf, true);
  }

  _TypeDelegatorDispT& operator=(_TypeDelegator *pintf)
  {
    TAutoDriver<_TypeDelegator>::Bind(pintf, false);
    return *this;
  }

  _TypeDelegatorDispT& operator=(_TypeDelegatorPtr pintf)
  {
    TAutoDriver<_TypeDelegator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeDelegator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeDelegator);
  }


};
typedef _TypeDelegatorDispT<_TypeDelegator> _TypeDelegatorDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeFilter
// Interface: _TypeFilter
// *********************************************************************//
template <class T /* _TypeFilter */ >
class TCOM_TypeFilterT : public TComInterface<_TypeFilter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeFilterT() {}
  TCOM_TypeFilterT(_TypeFilter *intf, bool addRef = false) : TComInterface<_TypeFilter>(intf, addRef) {}
  TCOM_TypeFilterT(const TCOM_TypeFilterT& src) : TComInterface<_TypeFilter>(src) {}
  TCOM_TypeFilterT& operator=(const TCOM_TypeFilterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeFilterT<_TypeFilter> TCOM_TypeFilter;

// *********************************************************************//
// DispIntf:  _TypeFilter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E1817846-3745-3C97-B4A6-EE20A1641B29}
// *********************************************************************//
template<class T>
class _TypeFilterDispT : public TAutoDriver<_TypeFilter>
{
public:
  _TypeFilterDispT(){}

  _TypeFilterDispT(_TypeFilter *pintf)
  {
    TAutoDriver<_TypeFilter>::Bind(pintf, false);
  }

  _TypeFilterDispT(_TypeFilterPtr pintf)
  {
    TAutoDriver<_TypeFilter>::Bind(pintf, true);
  }

  _TypeFilterDispT& operator=(_TypeFilter *pintf)
  {
    TAutoDriver<_TypeFilter>::Bind(pintf, false);
    return *this;
  }

  _TypeFilterDispT& operator=(_TypeFilterPtr pintf)
  {
    TAutoDriver<_TypeFilter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeFilter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeFilter);
  }


};
typedef _TypeFilterDispT<_TypeFilter> _TypeFilterDisp;

typedef TComInterface<IFormatter>  TCOMIFormatter;

// *********************************************************************//
// DispIntf:  IFormatter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {93D7A8C5-D2EB-319B-A374-A65D321F2AA9}
// *********************************************************************//
template<class T>
class IFormatterDispT : public TAutoDriver<IFormatter>
{
public:
  IFormatterDispT(){}

  IFormatterDispT(IFormatter *pintf)
  {
    TAutoDriver<IFormatter>::Bind(pintf, false);
  }

  IFormatterDispT(IFormatterPtr pintf)
  {
    TAutoDriver<IFormatter>::Bind(pintf, true);
  }

  IFormatterDispT& operator=(IFormatter *pintf)
  {
    TAutoDriver<IFormatter>::Bind(pintf, false);
    return *this;
  }

  IFormatterDispT& operator=(IFormatterPtr pintf)
  {
    TAutoDriver<IFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                         TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/);
  HRESULT         __fastcall Serialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                       TVariantInParam graph/*[in]*/);
  HRESULT         __fastcall get_SurrogateSelector(Mscorlib_tlb::ISurrogateSelectorPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISurrogateSelectorPtr __fastcall get_SurrogateSelector(void);
  HRESULT         __fastcall _set_SurrogateSelector(Mscorlib_tlb::ISurrogateSelectorPtr pRetVal/*[in]*/);
  HRESULT         __fastcall get_Binder(Mscorlib_tlb::_SerializationBinderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_SerializationBinderPtr __fastcall get_Binder(void);
  HRESULT         __fastcall _set_Binder(Mscorlib_tlb::_SerializationBinderPtr pRetVal/*[in]*/);
  HRESULT         __fastcall get_Context(/*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall set_Context(/*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext pRetVal)*/ TVariant&  pRetVal);

  __property   Mscorlib_tlb::ISurrogateSelectorPtr SurrogateSelector = {read = get_SurrogateSelector, write = _set_SurrogateSelector};
  __property   Mscorlib_tlb::_SerializationBinderPtr Binder = {read = get_Binder, write = _set_Binder};
};
typedef IFormatterDispT<IFormatter> IFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_Formatter
// Interface: _Formatter
// *********************************************************************//
template <class T /* _Formatter */ >
class TCOM_FormatterT : public TComInterface<_Formatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FormatterT() {}
  TCOM_FormatterT(_Formatter *intf, bool addRef = false) : TComInterface<_Formatter>(intf, addRef) {}
  TCOM_FormatterT(const TCOM_FormatterT& src) : TComInterface<_Formatter>(src) {}
  TCOM_FormatterT& operator=(const TCOM_FormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FormatterT<_Formatter> TCOM_Formatter;

// *********************************************************************//
// DispIntf:  _Formatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9BD3C8D-9395-3657-B6EE-D1B509C38B70}
// *********************************************************************//
template<class T>
class _FormatterDispT : public TAutoDriver<_Formatter>
{
public:
  _FormatterDispT(){}

  _FormatterDispT(_Formatter *pintf)
  {
    TAutoDriver<_Formatter>::Bind(pintf, false);
  }

  _FormatterDispT(_FormatterPtr pintf)
  {
    TAutoDriver<_Formatter>::Bind(pintf, true);
  }

  _FormatterDispT& operator=(_Formatter *pintf)
  {
    TAutoDriver<_Formatter>::Bind(pintf, false);
    return *this;
  }

  _FormatterDispT& operator=(_FormatterPtr pintf)
  {
    TAutoDriver<_Formatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Formatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Formatter);
  }


};
typedef _FormatterDispT<_Formatter> _FormatterDisp;

typedef TComInterface<IFormatterConverter>  TCOMIFormatterConverter;

// *********************************************************************//
// DispIntf:  IFormatterConverter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F4F5C303-FAD3-3D0C-A4DF-BB82B5EE308F}
// *********************************************************************//
template<class T>
class IFormatterConverterDispT : public TAutoDriver<IFormatterConverter>
{
public:
  IFormatterConverterDispT(){}

  IFormatterConverterDispT(IFormatterConverter *pintf)
  {
    TAutoDriver<IFormatterConverter>::Bind(pintf, false);
  }

  IFormatterConverterDispT(IFormatterConverterPtr pintf)
  {
    TAutoDriver<IFormatterConverter>::Bind(pintf, true);
  }

  IFormatterConverterDispT& operator=(IFormatterConverter *pintf)
  {
    TAutoDriver<IFormatterConverter>::Bind(pintf, false);
    return *this;
  }

  IFormatterConverterDispT& operator=(IFormatterConverterPtr pintf)
  {
    TAutoDriver<IFormatterConverter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Convert(TVariantInParam value/*[in]*/, 
                                     Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                     TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Convert(TVariantInParam value/*[in]*/, 
                                     Mscorlib_tlb::_TypePtr Type/*[in]*/);
  HRESULT         __fastcall Convert_2(TVariantInParam value/*[in]*/, 
                                       Mscorlib_tlb::TypeCode TypeCode/*[in]*/, 
                                       TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Convert_2(TVariantInParam value/*[in]*/, 
                                       Mscorlib_tlb::TypeCode TypeCode/*[in]*/);
  HRESULT         __fastcall ToBoolean(TVariantInParam value/*[in]*/, 
                                       TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall ToBoolean(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToChar(TVariantInParam value/*[in]*/, 
                                    unsigned_short* pRetVal/*[out,retval]*/);
  unsigned_short  __fastcall ToChar(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToSByte(TVariantInParam value/*[in]*/, 
                                     signed_char* pRetVal/*[out,retval]*/);
  signed_char     __fastcall ToSByte(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToByte(TVariantInParam value/*[in]*/, 
                                    unsigned_char* pRetVal/*[out,retval]*/);
  unsigned_char   __fastcall ToByte(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToInt16(TVariantInParam value/*[in]*/, short* pRetVal/*[out,retval]*/);
  short           __fastcall ToInt16(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToUInt16(TVariantInParam value/*[in]*/, 
                                      unsigned_short* pRetVal/*[out,retval]*/);
  unsigned_short  __fastcall ToUInt16(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToInt32(TVariantInParam value/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall ToInt32(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToUInt32(TVariantInParam value/*[in]*/, 
                                      unsigned_long* pRetVal/*[out,retval]*/);
  unsigned_long   __fastcall ToUInt32(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToInt64(TVariantInParam value/*[in]*/, __int64* pRetVal/*[out,retval]*/);
  __int64         __fastcall ToInt64(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToUInt64(TVariantInParam value/*[in]*/, 
                                      unsigned_int64* pRetVal/*[out,retval]*/);
  unsigned_int64  __fastcall ToUInt64(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToSingle(TVariantInParam value/*[in]*/, float* pRetVal/*[out,retval]*/);
  float           __fastcall ToSingle(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToDouble(TVariantInParam value/*[in]*/, double* pRetVal/*[out,retval]*/);
  double          __fastcall ToDouble(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToDecimal(TVariantInParam value/*[in]*/, 
                                       DECIMAL* pRetVal/*[out,retval]*/);
  DECIMAL         __fastcall ToDecimal(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall ToDateTime(TVariantInParam value/*[in]*/, DATE* pRetVal/*[out,retval]*/);
  DATE            __fastcall ToDateTime(TVariantInParam value/*[in]*/);
  HRESULT         __fastcall get_ToString(TVariantInParam value/*[in]*/, 
                                          BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(TVariantInParam value/*[in]*/);

};
typedef IFormatterConverterDispT<IFormatterConverter> IFormatterConverterDisp;

// *********************************************************************//
// SmartIntf: TCOM_FormatterConverter
// Interface: _FormatterConverter
// *********************************************************************//
template <class T /* _FormatterConverter */ >
class TCOM_FormatterConverterT : public TComInterface<_FormatterConverter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FormatterConverterT() {}
  TCOM_FormatterConverterT(_FormatterConverter *intf, bool addRef = false) : TComInterface<_FormatterConverter>(intf, addRef) {}
  TCOM_FormatterConverterT(const TCOM_FormatterConverterT& src) : TComInterface<_FormatterConverter>(src) {}
  TCOM_FormatterConverterT& operator=(const TCOM_FormatterConverterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FormatterConverterT<_FormatterConverter> TCOM_FormatterConverter;

// *********************************************************************//
// DispIntf:  _FormatterConverter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3FAA35EE-C867-3E2E-BF48-2DA271F88303}
// *********************************************************************//
template<class T>
class _FormatterConverterDispT : public TAutoDriver<_FormatterConverter>
{
public:
  _FormatterConverterDispT(){}

  _FormatterConverterDispT(_FormatterConverter *pintf)
  {
    TAutoDriver<_FormatterConverter>::Bind(pintf, false);
  }

  _FormatterConverterDispT(_FormatterConverterPtr pintf)
  {
    TAutoDriver<_FormatterConverter>::Bind(pintf, true);
  }

  _FormatterConverterDispT& operator=(_FormatterConverter *pintf)
  {
    TAutoDriver<_FormatterConverter>::Bind(pintf, false);
    return *this;
  }

  _FormatterConverterDispT& operator=(_FormatterConverterPtr pintf)
  {
    TAutoDriver<_FormatterConverter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FormatterConverter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FormatterConverter);
  }


};
typedef _FormatterConverterDispT<_FormatterConverter> _FormatterConverterDisp;

// *********************************************************************//
// SmartIntf: TCOM_FormatterServices
// Interface: _FormatterServices
// *********************************************************************//
template <class T /* _FormatterServices */ >
class TCOM_FormatterServicesT : public TComInterface<_FormatterServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FormatterServicesT() {}
  TCOM_FormatterServicesT(_FormatterServices *intf, bool addRef = false) : TComInterface<_FormatterServices>(intf, addRef) {}
  TCOM_FormatterServicesT(const TCOM_FormatterServicesT& src) : TComInterface<_FormatterServices>(src) {}
  TCOM_FormatterServicesT& operator=(const TCOM_FormatterServicesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FormatterServicesT<_FormatterServices> TCOM_FormatterServices;

// *********************************************************************//
// DispIntf:  _FormatterServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F859954A-78CF-3D00-86AB-EF661E6A4B8D}
// *********************************************************************//
template<class T>
class _FormatterServicesDispT : public TAutoDriver<_FormatterServices>
{
public:
  _FormatterServicesDispT(){}

  _FormatterServicesDispT(_FormatterServices *pintf)
  {
    TAutoDriver<_FormatterServices>::Bind(pintf, false);
  }

  _FormatterServicesDispT(_FormatterServicesPtr pintf)
  {
    TAutoDriver<_FormatterServices>::Bind(pintf, true);
  }

  _FormatterServicesDispT& operator=(_FormatterServices *pintf)
  {
    TAutoDriver<_FormatterServices>::Bind(pintf, false);
    return *this;
  }

  _FormatterServicesDispT& operator=(_FormatterServicesPtr pintf)
  {
    TAutoDriver<_FormatterServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FormatterServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FormatterServices);
  }


};
typedef _FormatterServicesDispT<_FormatterServices> _FormatterServicesDisp;

typedef TComInterface<ISerializationSurrogate>  TCOMISerializationSurrogate;

// *********************************************************************//
// DispIntf:  ISerializationSurrogate
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {62339172-DBFA-337B-8AC8-053B241E06AB}
// *********************************************************************//
template<class T>
class ISerializationSurrogateDispT : public TAutoDriver<ISerializationSurrogate>
{
public:
  ISerializationSurrogateDispT(){}

  ISerializationSurrogateDispT(ISerializationSurrogate *pintf)
  {
    TAutoDriver<ISerializationSurrogate>::Bind(pintf, false);
  }

  ISerializationSurrogateDispT(ISerializationSurrogatePtr pintf)
  {
    TAutoDriver<ISerializationSurrogate>::Bind(pintf, true);
  }

  ISerializationSurrogateDispT& operator=(ISerializationSurrogate *pintf)
  {
    TAutoDriver<ISerializationSurrogate>::Bind(pintf, false);
    return *this;
  }

  ISerializationSurrogateDispT& operator=(ISerializationSurrogatePtr pintf)
  {
    TAutoDriver<ISerializationSurrogate>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetObjectData(TVariantInParam obj/*[in]*/, 
                                           Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context);
  HRESULT         __fastcall SetObjectData(TVariantInParam obj/*[in]*/, 
                                           Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                           /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context
                                           , Mscorlib_tlb::ISurrogateSelectorPtr selector/*[in]*/, 
                                           TVariant* pRetVal/*[out,retval]*/);

};
typedef ISerializationSurrogateDispT<ISerializationSurrogate> ISerializationSurrogateDisp;

typedef TComInterface<ISurrogateSelector>  TCOMISurrogateSelector;

// *********************************************************************//
// DispIntf:  ISurrogateSelector
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7C66FF18-A1A5-3E19-857B-0E7B6A9E3F38}
// *********************************************************************//
template<class T>
class ISurrogateSelectorDispT : public TAutoDriver<ISurrogateSelector>
{
public:
  ISurrogateSelectorDispT(){}

  ISurrogateSelectorDispT(ISurrogateSelector *pintf)
  {
    TAutoDriver<ISurrogateSelector>::Bind(pintf, false);
  }

  ISurrogateSelectorDispT(ISurrogateSelectorPtr pintf)
  {
    TAutoDriver<ISurrogateSelector>::Bind(pintf, true);
  }

  ISurrogateSelectorDispT& operator=(ISurrogateSelector *pintf)
  {
    TAutoDriver<ISurrogateSelector>::Bind(pintf, false);
    return *this;
  }

  ISurrogateSelectorDispT& operator=(ISurrogateSelectorPtr pintf)
  {
    TAutoDriver<ISurrogateSelector>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall ChainSelector(Mscorlib_tlb::ISurrogateSelectorPtr selector/*[in]*/);
  HRESULT         __fastcall GetSurrogate(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                          /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context
                                          , Mscorlib_tlb::ISurrogateSelectorPtr* selector/*[out]*/, 
                                          Mscorlib_tlb::ISerializationSurrogatePtr* pRetVal/*[out,retval]*/);
  HRESULT         __fastcall GetNextSelector(Mscorlib_tlb::ISurrogateSelectorPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ISurrogateSelectorPtr __fastcall GetNextSelector(void);

};
typedef ISurrogateSelectorDispT<ISurrogateSelector> ISurrogateSelectorDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObjectIDGenerator
// Interface: _ObjectIDGenerator
// *********************************************************************//
template <class T /* _ObjectIDGenerator */ >
class TCOM_ObjectIDGeneratorT : public TComInterface<_ObjectIDGenerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObjectIDGeneratorT() {}
  TCOM_ObjectIDGeneratorT(_ObjectIDGenerator *intf, bool addRef = false) : TComInterface<_ObjectIDGenerator>(intf, addRef) {}
  TCOM_ObjectIDGeneratorT(const TCOM_ObjectIDGeneratorT& src) : TComInterface<_ObjectIDGenerator>(src) {}
  TCOM_ObjectIDGeneratorT& operator=(const TCOM_ObjectIDGeneratorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObjectIDGeneratorT<_ObjectIDGenerator> TCOM_ObjectIDGenerator;

// *********************************************************************//
// DispIntf:  _ObjectIDGenerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A30646CC-F710-3BFA-A356-B4C858D4ED8E}
// *********************************************************************//
template<class T>
class _ObjectIDGeneratorDispT : public TAutoDriver<_ObjectIDGenerator>
{
public:
  _ObjectIDGeneratorDispT(){}

  _ObjectIDGeneratorDispT(_ObjectIDGenerator *pintf)
  {
    TAutoDriver<_ObjectIDGenerator>::Bind(pintf, false);
  }

  _ObjectIDGeneratorDispT(_ObjectIDGeneratorPtr pintf)
  {
    TAutoDriver<_ObjectIDGenerator>::Bind(pintf, true);
  }

  _ObjectIDGeneratorDispT& operator=(_ObjectIDGenerator *pintf)
  {
    TAutoDriver<_ObjectIDGenerator>::Bind(pintf, false);
    return *this;
  }

  _ObjectIDGeneratorDispT& operator=(_ObjectIDGeneratorPtr pintf)
  {
    TAutoDriver<_ObjectIDGenerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObjectIDGenerator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObjectIDGenerator);
  }


};
typedef _ObjectIDGeneratorDispT<_ObjectIDGenerator> _ObjectIDGeneratorDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObjectManager
// Interface: _ObjectManager
// *********************************************************************//
template <class T /* _ObjectManager */ >
class TCOM_ObjectManagerT : public TComInterface<_ObjectManager>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObjectManagerT() {}
  TCOM_ObjectManagerT(_ObjectManager *intf, bool addRef = false) : TComInterface<_ObjectManager>(intf, addRef) {}
  TCOM_ObjectManagerT(const TCOM_ObjectManagerT& src) : TComInterface<_ObjectManager>(src) {}
  TCOM_ObjectManagerT& operator=(const TCOM_ObjectManagerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObjectManagerT<_ObjectManager> TCOM_ObjectManager;

// *********************************************************************//
// DispIntf:  _ObjectManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F28E7D04-3319-3968-8201-C6E55BECD3D4}
// *********************************************************************//
template<class T>
class _ObjectManagerDispT : public TAutoDriver<_ObjectManager>
{
public:
  _ObjectManagerDispT(){}

  _ObjectManagerDispT(_ObjectManager *pintf)
  {
    TAutoDriver<_ObjectManager>::Bind(pintf, false);
  }

  _ObjectManagerDispT(_ObjectManagerPtr pintf)
  {
    TAutoDriver<_ObjectManager>::Bind(pintf, true);
  }

  _ObjectManagerDispT& operator=(_ObjectManager *pintf)
  {
    TAutoDriver<_ObjectManager>::Bind(pintf, false);
    return *this;
  }

  _ObjectManagerDispT& operator=(_ObjectManagerPtr pintf)
  {
    TAutoDriver<_ObjectManager>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObjectManager));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObjectManager);
  }


};
typedef _ObjectManagerDispT<_ObjectManager> _ObjectManagerDisp;

// *********************************************************************//
// SmartIntf: TCOM_OptionalFieldAttribute
// Interface: _OptionalFieldAttribute
// *********************************************************************//
template <class T /* _OptionalFieldAttribute */ >
class TCOM_OptionalFieldAttributeT : public TComInterface<_OptionalFieldAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OptionalFieldAttributeT() {}
  TCOM_OptionalFieldAttributeT(_OptionalFieldAttribute *intf, bool addRef = false) : TComInterface<_OptionalFieldAttribute>(intf, addRef) {}
  TCOM_OptionalFieldAttributeT(const TCOM_OptionalFieldAttributeT& src) : TComInterface<_OptionalFieldAttribute>(src) {}
  TCOM_OptionalFieldAttributeT& operator=(const TCOM_OptionalFieldAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OptionalFieldAttributeT<_OptionalFieldAttribute> TCOM_OptionalFieldAttribute;

// *********************************************************************//
// DispIntf:  _OptionalFieldAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FECA70D4-AE27-3D94-93DD-A90F02E299D5}
// *********************************************************************//
template<class T>
class _OptionalFieldAttributeDispT : public TAutoDriver<_OptionalFieldAttribute>
{
public:
  _OptionalFieldAttributeDispT(){}

  _OptionalFieldAttributeDispT(_OptionalFieldAttribute *pintf)
  {
    TAutoDriver<_OptionalFieldAttribute>::Bind(pintf, false);
  }

  _OptionalFieldAttributeDispT(_OptionalFieldAttributePtr pintf)
  {
    TAutoDriver<_OptionalFieldAttribute>::Bind(pintf, true);
  }

  _OptionalFieldAttributeDispT& operator=(_OptionalFieldAttribute *pintf)
  {
    TAutoDriver<_OptionalFieldAttribute>::Bind(pintf, false);
    return *this;
  }

  _OptionalFieldAttributeDispT& operator=(_OptionalFieldAttributePtr pintf)
  {
    TAutoDriver<_OptionalFieldAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OptionalFieldAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OptionalFieldAttribute);
  }


};
typedef _OptionalFieldAttributeDispT<_OptionalFieldAttribute> _OptionalFieldAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_OnSerializingAttribute
// Interface: _OnSerializingAttribute
// *********************************************************************//
template <class T /* _OnSerializingAttribute */ >
class TCOM_OnSerializingAttributeT : public TComInterface<_OnSerializingAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OnSerializingAttributeT() {}
  TCOM_OnSerializingAttributeT(_OnSerializingAttribute *intf, bool addRef = false) : TComInterface<_OnSerializingAttribute>(intf, addRef) {}
  TCOM_OnSerializingAttributeT(const TCOM_OnSerializingAttributeT& src) : TComInterface<_OnSerializingAttribute>(src) {}
  TCOM_OnSerializingAttributeT& operator=(const TCOM_OnSerializingAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OnSerializingAttributeT<_OnSerializingAttribute> TCOM_OnSerializingAttribute;

// *********************************************************************//
// DispIntf:  _OnSerializingAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9EC28D2C-04C0-35F3-A7EE-0013271FF65E}
// *********************************************************************//
template<class T>
class _OnSerializingAttributeDispT : public TAutoDriver<_OnSerializingAttribute>
{
public:
  _OnSerializingAttributeDispT(){}

  _OnSerializingAttributeDispT(_OnSerializingAttribute *pintf)
  {
    TAutoDriver<_OnSerializingAttribute>::Bind(pintf, false);
  }

  _OnSerializingAttributeDispT(_OnSerializingAttributePtr pintf)
  {
    TAutoDriver<_OnSerializingAttribute>::Bind(pintf, true);
  }

  _OnSerializingAttributeDispT& operator=(_OnSerializingAttribute *pintf)
  {
    TAutoDriver<_OnSerializingAttribute>::Bind(pintf, false);
    return *this;
  }

  _OnSerializingAttributeDispT& operator=(_OnSerializingAttributePtr pintf)
  {
    TAutoDriver<_OnSerializingAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OnSerializingAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OnSerializingAttribute);
  }


};
typedef _OnSerializingAttributeDispT<_OnSerializingAttribute> _OnSerializingAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_OnSerializedAttribute
// Interface: _OnSerializedAttribute
// *********************************************************************//
template <class T /* _OnSerializedAttribute */ >
class TCOM_OnSerializedAttributeT : public TComInterface<_OnSerializedAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OnSerializedAttributeT() {}
  TCOM_OnSerializedAttributeT(_OnSerializedAttribute *intf, bool addRef = false) : TComInterface<_OnSerializedAttribute>(intf, addRef) {}
  TCOM_OnSerializedAttributeT(const TCOM_OnSerializedAttributeT& src) : TComInterface<_OnSerializedAttribute>(src) {}
  TCOM_OnSerializedAttributeT& operator=(const TCOM_OnSerializedAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OnSerializedAttributeT<_OnSerializedAttribute> TCOM_OnSerializedAttribute;

// *********************************************************************//
// DispIntf:  _OnSerializedAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {547BF8CD-F2A8-3B41-966D-98DB33DED06D}
// *********************************************************************//
template<class T>
class _OnSerializedAttributeDispT : public TAutoDriver<_OnSerializedAttribute>
{
public:
  _OnSerializedAttributeDispT(){}

  _OnSerializedAttributeDispT(_OnSerializedAttribute *pintf)
  {
    TAutoDriver<_OnSerializedAttribute>::Bind(pintf, false);
  }

  _OnSerializedAttributeDispT(_OnSerializedAttributePtr pintf)
  {
    TAutoDriver<_OnSerializedAttribute>::Bind(pintf, true);
  }

  _OnSerializedAttributeDispT& operator=(_OnSerializedAttribute *pintf)
  {
    TAutoDriver<_OnSerializedAttribute>::Bind(pintf, false);
    return *this;
  }

  _OnSerializedAttributeDispT& operator=(_OnSerializedAttributePtr pintf)
  {
    TAutoDriver<_OnSerializedAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OnSerializedAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OnSerializedAttribute);
  }


};
typedef _OnSerializedAttributeDispT<_OnSerializedAttribute> _OnSerializedAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_OnDeserializingAttribute
// Interface: _OnDeserializingAttribute
// *********************************************************************//
template <class T /* _OnDeserializingAttribute */ >
class TCOM_OnDeserializingAttributeT : public TComInterface<_OnDeserializingAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OnDeserializingAttributeT() {}
  TCOM_OnDeserializingAttributeT(_OnDeserializingAttribute *intf, bool addRef = false) : TComInterface<_OnDeserializingAttribute>(intf, addRef) {}
  TCOM_OnDeserializingAttributeT(const TCOM_OnDeserializingAttributeT& src) : TComInterface<_OnDeserializingAttribute>(src) {}
  TCOM_OnDeserializingAttributeT& operator=(const TCOM_OnDeserializingAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OnDeserializingAttributeT<_OnDeserializingAttribute> TCOM_OnDeserializingAttribute;

// *********************************************************************//
// DispIntf:  _OnDeserializingAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F5AEF88F-9AC4-320C-95D2-88E863A35762}
// *********************************************************************//
template<class T>
class _OnDeserializingAttributeDispT : public TAutoDriver<_OnDeserializingAttribute>
{
public:
  _OnDeserializingAttributeDispT(){}

  _OnDeserializingAttributeDispT(_OnDeserializingAttribute *pintf)
  {
    TAutoDriver<_OnDeserializingAttribute>::Bind(pintf, false);
  }

  _OnDeserializingAttributeDispT(_OnDeserializingAttributePtr pintf)
  {
    TAutoDriver<_OnDeserializingAttribute>::Bind(pintf, true);
  }

  _OnDeserializingAttributeDispT& operator=(_OnDeserializingAttribute *pintf)
  {
    TAutoDriver<_OnDeserializingAttribute>::Bind(pintf, false);
    return *this;
  }

  _OnDeserializingAttributeDispT& operator=(_OnDeserializingAttributePtr pintf)
  {
    TAutoDriver<_OnDeserializingAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OnDeserializingAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OnDeserializingAttribute);
  }


};
typedef _OnDeserializingAttributeDispT<_OnDeserializingAttribute> _OnDeserializingAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_OnDeserializedAttribute
// Interface: _OnDeserializedAttribute
// *********************************************************************//
template <class T /* _OnDeserializedAttribute */ >
class TCOM_OnDeserializedAttributeT : public TComInterface<_OnDeserializedAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OnDeserializedAttributeT() {}
  TCOM_OnDeserializedAttributeT(_OnDeserializedAttribute *intf, bool addRef = false) : TComInterface<_OnDeserializedAttribute>(intf, addRef) {}
  TCOM_OnDeserializedAttributeT(const TCOM_OnDeserializedAttributeT& src) : TComInterface<_OnDeserializedAttribute>(src) {}
  TCOM_OnDeserializedAttributeT& operator=(const TCOM_OnDeserializedAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OnDeserializedAttributeT<_OnDeserializedAttribute> TCOM_OnDeserializedAttribute;

// *********************************************************************//
// DispIntf:  _OnDeserializedAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DD36C803-73D1-338D-88BA-DC9EB7620EF7}
// *********************************************************************//
template<class T>
class _OnDeserializedAttributeDispT : public TAutoDriver<_OnDeserializedAttribute>
{
public:
  _OnDeserializedAttributeDispT(){}

  _OnDeserializedAttributeDispT(_OnDeserializedAttribute *pintf)
  {
    TAutoDriver<_OnDeserializedAttribute>::Bind(pintf, false);
  }

  _OnDeserializedAttributeDispT(_OnDeserializedAttributePtr pintf)
  {
    TAutoDriver<_OnDeserializedAttribute>::Bind(pintf, true);
  }

  _OnDeserializedAttributeDispT& operator=(_OnDeserializedAttribute *pintf)
  {
    TAutoDriver<_OnDeserializedAttribute>::Bind(pintf, false);
    return *this;
  }

  _OnDeserializedAttributeDispT& operator=(_OnDeserializedAttributePtr pintf)
  {
    TAutoDriver<_OnDeserializedAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OnDeserializedAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OnDeserializedAttribute);
  }


};
typedef _OnDeserializedAttributeDispT<_OnDeserializedAttribute> _OnDeserializedAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SerializationBinder
// Interface: _SerializationBinder
// *********************************************************************//
template <class T /* _SerializationBinder */ >
class TCOM_SerializationBinderT : public TComInterface<_SerializationBinder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SerializationBinderT() {}
  TCOM_SerializationBinderT(_SerializationBinder *intf, bool addRef = false) : TComInterface<_SerializationBinder>(intf, addRef) {}
  TCOM_SerializationBinderT(const TCOM_SerializationBinderT& src) : TComInterface<_SerializationBinder>(src) {}
  TCOM_SerializationBinderT& operator=(const TCOM_SerializationBinderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SerializationBinderT<_SerializationBinder> TCOM_SerializationBinder;

// *********************************************************************//
// DispIntf:  _SerializationBinder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {450222D0-87CA-3699-A7B4-D8A0FDB72357}
// *********************************************************************//
template<class T>
class _SerializationBinderDispT : public TAutoDriver<_SerializationBinder>
{
public:
  _SerializationBinderDispT(){}

  _SerializationBinderDispT(_SerializationBinder *pintf)
  {
    TAutoDriver<_SerializationBinder>::Bind(pintf, false);
  }

  _SerializationBinderDispT(_SerializationBinderPtr pintf)
  {
    TAutoDriver<_SerializationBinder>::Bind(pintf, true);
  }

  _SerializationBinderDispT& operator=(_SerializationBinder *pintf)
  {
    TAutoDriver<_SerializationBinder>::Bind(pintf, false);
    return *this;
  }

  _SerializationBinderDispT& operator=(_SerializationBinderPtr pintf)
  {
    TAutoDriver<_SerializationBinder>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SerializationBinder));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SerializationBinder);
  }


};
typedef _SerializationBinderDispT<_SerializationBinder> _SerializationBinderDisp;

// *********************************************************************//
// SmartIntf: TCOM_SerializationInfo
// Interface: _SerializationInfo
// *********************************************************************//
template <class T /* _SerializationInfo */ >
class TCOM_SerializationInfoT : public TComInterface<_SerializationInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SerializationInfoT() {}
  TCOM_SerializationInfoT(_SerializationInfo *intf, bool addRef = false) : TComInterface<_SerializationInfo>(intf, addRef) {}
  TCOM_SerializationInfoT(const TCOM_SerializationInfoT& src) : TComInterface<_SerializationInfo>(src) {}
  TCOM_SerializationInfoT& operator=(const TCOM_SerializationInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SerializationInfoT<_SerializationInfo> TCOM_SerializationInfo;

// *********************************************************************//
// DispIntf:  _SerializationInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B58D62CF-B03A-3A14-B0B6-B1E5AD4E4AD5}
// *********************************************************************//
template<class T>
class _SerializationInfoDispT : public TAutoDriver<_SerializationInfo>
{
public:
  _SerializationInfoDispT(){}

  _SerializationInfoDispT(_SerializationInfo *pintf)
  {
    TAutoDriver<_SerializationInfo>::Bind(pintf, false);
  }

  _SerializationInfoDispT(_SerializationInfoPtr pintf)
  {
    TAutoDriver<_SerializationInfo>::Bind(pintf, true);
  }

  _SerializationInfoDispT& operator=(_SerializationInfo *pintf)
  {
    TAutoDriver<_SerializationInfo>::Bind(pintf, false);
    return *this;
  }

  _SerializationInfoDispT& operator=(_SerializationInfoPtr pintf)
  {
    TAutoDriver<_SerializationInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SerializationInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SerializationInfo);
  }


};
typedef _SerializationInfoDispT<_SerializationInfo> _SerializationInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_SerializationInfoEnumerator
// Interface: _SerializationInfoEnumerator
// *********************************************************************//
template <class T /* _SerializationInfoEnumerator */ >
class TCOM_SerializationInfoEnumeratorT : public TComInterface<_SerializationInfoEnumerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SerializationInfoEnumeratorT() {}
  TCOM_SerializationInfoEnumeratorT(_SerializationInfoEnumerator *intf, bool addRef = false) : TComInterface<_SerializationInfoEnumerator>(intf, addRef) {}
  TCOM_SerializationInfoEnumeratorT(const TCOM_SerializationInfoEnumeratorT& src) : TComInterface<_SerializationInfoEnumerator>(src) {}
  TCOM_SerializationInfoEnumeratorT& operator=(const TCOM_SerializationInfoEnumeratorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SerializationInfoEnumeratorT<_SerializationInfoEnumerator> TCOM_SerializationInfoEnumerator;

// *********************************************************************//
// DispIntf:  _SerializationInfoEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {607056C6-1BCA-36C8-AB87-33B202EBF0D8}
// *********************************************************************//
template<class T>
class _SerializationInfoEnumeratorDispT : public TAutoDriver<_SerializationInfoEnumerator>
{
public:
  _SerializationInfoEnumeratorDispT(){}

  _SerializationInfoEnumeratorDispT(_SerializationInfoEnumerator *pintf)
  {
    TAutoDriver<_SerializationInfoEnumerator>::Bind(pintf, false);
  }

  _SerializationInfoEnumeratorDispT(_SerializationInfoEnumeratorPtr pintf)
  {
    TAutoDriver<_SerializationInfoEnumerator>::Bind(pintf, true);
  }

  _SerializationInfoEnumeratorDispT& operator=(_SerializationInfoEnumerator *pintf)
  {
    TAutoDriver<_SerializationInfoEnumerator>::Bind(pintf, false);
    return *this;
  }

  _SerializationInfoEnumeratorDispT& operator=(_SerializationInfoEnumeratorPtr pintf)
  {
    TAutoDriver<_SerializationInfoEnumerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SerializationInfoEnumerator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SerializationInfoEnumerator);
  }


};
typedef _SerializationInfoEnumeratorDispT<_SerializationInfoEnumerator> _SerializationInfoEnumeratorDisp;

// *********************************************************************//
// SmartIntf: TCOM_SerializationException
// Interface: _SerializationException
// *********************************************************************//
template <class T /* _SerializationException */ >
class TCOM_SerializationExceptionT : public TComInterface<_SerializationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SerializationExceptionT() {}
  TCOM_SerializationExceptionT(_SerializationException *intf, bool addRef = false) : TComInterface<_SerializationException>(intf, addRef) {}
  TCOM_SerializationExceptionT(const TCOM_SerializationExceptionT& src) : TComInterface<_SerializationException>(src) {}
  TCOM_SerializationExceptionT& operator=(const TCOM_SerializationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SerializationExceptionT<_SerializationException> TCOM_SerializationException;

// *********************************************************************//
// DispIntf:  _SerializationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {245FE7FD-E020-3053-B5F6-7467FD2C6883}
// *********************************************************************//
template<class T>
class _SerializationExceptionDispT : public TAutoDriver<_SerializationException>
{
public:
  _SerializationExceptionDispT(){}

  _SerializationExceptionDispT(_SerializationException *pintf)
  {
    TAutoDriver<_SerializationException>::Bind(pintf, false);
  }

  _SerializationExceptionDispT(_SerializationExceptionPtr pintf)
  {
    TAutoDriver<_SerializationException>::Bind(pintf, true);
  }

  _SerializationExceptionDispT& operator=(_SerializationException *pintf)
  {
    TAutoDriver<_SerializationException>::Bind(pintf, false);
    return *this;
  }

  _SerializationExceptionDispT& operator=(_SerializationExceptionPtr pintf)
  {
    TAutoDriver<_SerializationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SerializationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SerializationException);
  }


};
typedef _SerializationExceptionDispT<_SerializationException> _SerializationExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SurrogateSelector
// Interface: _SurrogateSelector
// *********************************************************************//
template <class T /* _SurrogateSelector */ >
class TCOM_SurrogateSelectorT : public TComInterface<_SurrogateSelector>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SurrogateSelectorT() {}
  TCOM_SurrogateSelectorT(_SurrogateSelector *intf, bool addRef = false) : TComInterface<_SurrogateSelector>(intf, addRef) {}
  TCOM_SurrogateSelectorT(const TCOM_SurrogateSelectorT& src) : TComInterface<_SurrogateSelector>(src) {}
  TCOM_SurrogateSelectorT& operator=(const TCOM_SurrogateSelectorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SurrogateSelectorT<_SurrogateSelector> TCOM_SurrogateSelector;

// *********************************************************************//
// DispIntf:  _SurrogateSelector
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6DE1230E-1F52-3779-9619-F5184103466C}
// *********************************************************************//
template<class T>
class _SurrogateSelectorDispT : public TAutoDriver<_SurrogateSelector>
{
public:
  _SurrogateSelectorDispT(){}

  _SurrogateSelectorDispT(_SurrogateSelector *pintf)
  {
    TAutoDriver<_SurrogateSelector>::Bind(pintf, false);
  }

  _SurrogateSelectorDispT(_SurrogateSelectorPtr pintf)
  {
    TAutoDriver<_SurrogateSelector>::Bind(pintf, true);
  }

  _SurrogateSelectorDispT& operator=(_SurrogateSelector *pintf)
  {
    TAutoDriver<_SurrogateSelector>::Bind(pintf, false);
    return *this;
  }

  _SurrogateSelectorDispT& operator=(_SurrogateSelectorPtr pintf)
  {
    TAutoDriver<_SurrogateSelector>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SurrogateSelector));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SurrogateSelector);
  }


};
typedef _SurrogateSelectorDispT<_SurrogateSelector> _SurrogateSelectorDisp;

// *********************************************************************//
// SmartIntf: TCOM_Calendar
// Interface: _Calendar
// *********************************************************************//
template <class T /* _Calendar */ >
class TCOM_CalendarT : public TComInterface<_Calendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CalendarT() {}
  TCOM_CalendarT(_Calendar *intf, bool addRef = false) : TComInterface<_Calendar>(intf, addRef) {}
  TCOM_CalendarT(const TCOM_CalendarT& src) : TComInterface<_Calendar>(src) {}
  TCOM_CalendarT& operator=(const TCOM_CalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CalendarT<_Calendar> TCOM_Calendar;

// *********************************************************************//
// DispIntf:  _Calendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4CCA29E4-584B-3CD0-AD25-855DC5799C16}
// *********************************************************************//
template<class T>
class _CalendarDispT : public TAutoDriver<_Calendar>
{
public:
  _CalendarDispT(){}

  _CalendarDispT(_Calendar *pintf)
  {
    TAutoDriver<_Calendar>::Bind(pintf, false);
  }

  _CalendarDispT(_CalendarPtr pintf)
  {
    TAutoDriver<_Calendar>::Bind(pintf, true);
  }

  _CalendarDispT& operator=(_Calendar *pintf)
  {
    TAutoDriver<_Calendar>::Bind(pintf, false);
    return *this;
  }

  _CalendarDispT& operator=(_CalendarPtr pintf)
  {
    TAutoDriver<_Calendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Calendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Calendar);
  }


};
typedef _CalendarDispT<_Calendar> _CalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_EastAsianLunisolarCalendar
// Interface: _EastAsianLunisolarCalendar
// *********************************************************************//
template <class T /* _EastAsianLunisolarCalendar */ >
class TCOM_EastAsianLunisolarCalendarT : public TComInterface<_EastAsianLunisolarCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EastAsianLunisolarCalendarT() {}
  TCOM_EastAsianLunisolarCalendarT(_EastAsianLunisolarCalendar *intf, bool addRef = false) : TComInterface<_EastAsianLunisolarCalendar>(intf, addRef) {}
  TCOM_EastAsianLunisolarCalendarT(const TCOM_EastAsianLunisolarCalendarT& src) : TComInterface<_EastAsianLunisolarCalendar>(src) {}
  TCOM_EastAsianLunisolarCalendarT& operator=(const TCOM_EastAsianLunisolarCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EastAsianLunisolarCalendarT<_EastAsianLunisolarCalendar> TCOM_EastAsianLunisolarCalendar;

// *********************************************************************//
// DispIntf:  _EastAsianLunisolarCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {89E148C4-2424-30AE-80F5-C5D21EA3366C}
// *********************************************************************//
template<class T>
class _EastAsianLunisolarCalendarDispT : public TAutoDriver<_EastAsianLunisolarCalendar>
{
public:
  _EastAsianLunisolarCalendarDispT(){}

  _EastAsianLunisolarCalendarDispT(_EastAsianLunisolarCalendar *pintf)
  {
    TAutoDriver<_EastAsianLunisolarCalendar>::Bind(pintf, false);
  }

  _EastAsianLunisolarCalendarDispT(_EastAsianLunisolarCalendarPtr pintf)
  {
    TAutoDriver<_EastAsianLunisolarCalendar>::Bind(pintf, true);
  }

  _EastAsianLunisolarCalendarDispT& operator=(_EastAsianLunisolarCalendar *pintf)
  {
    TAutoDriver<_EastAsianLunisolarCalendar>::Bind(pintf, false);
    return *this;
  }

  _EastAsianLunisolarCalendarDispT& operator=(_EastAsianLunisolarCalendarPtr pintf)
  {
    TAutoDriver<_EastAsianLunisolarCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EastAsianLunisolarCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EastAsianLunisolarCalendar);
  }


};
typedef _EastAsianLunisolarCalendarDispT<_EastAsianLunisolarCalendar> _EastAsianLunisolarCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_CompareInfo
// Interface: _CompareInfo
// *********************************************************************//
template <class T /* _CompareInfo */ >
class TCOM_CompareInfoT : public TComInterface<_CompareInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CompareInfoT() {}
  TCOM_CompareInfoT(_CompareInfo *intf, bool addRef = false) : TComInterface<_CompareInfo>(intf, addRef) {}
  TCOM_CompareInfoT(const TCOM_CompareInfoT& src) : TComInterface<_CompareInfo>(src) {}
  TCOM_CompareInfoT& operator=(const TCOM_CompareInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CompareInfoT<_CompareInfo> TCOM_CompareInfo;

// *********************************************************************//
// DispIntf:  _CompareInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {505DEFE5-AEFA-3E23-82B0-D5EB085BB840}
// *********************************************************************//
template<class T>
class _CompareInfoDispT : public TAutoDriver<_CompareInfo>
{
public:
  _CompareInfoDispT(){}

  _CompareInfoDispT(_CompareInfo *pintf)
  {
    TAutoDriver<_CompareInfo>::Bind(pintf, false);
  }

  _CompareInfoDispT(_CompareInfoPtr pintf)
  {
    TAutoDriver<_CompareInfo>::Bind(pintf, true);
  }

  _CompareInfoDispT& operator=(_CompareInfo *pintf)
  {
    TAutoDriver<_CompareInfo>::Bind(pintf, false);
    return *this;
  }

  _CompareInfoDispT& operator=(_CompareInfoPtr pintf)
  {
    TAutoDriver<_CompareInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CompareInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CompareInfo);
  }


};
typedef _CompareInfoDispT<_CompareInfo> _CompareInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_CultureInfo
// Interface: _CultureInfo
// *********************************************************************//
template <class T /* _CultureInfo */ >
class TCOM_CultureInfoT : public TComInterface<_CultureInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CultureInfoT() {}
  TCOM_CultureInfoT(_CultureInfo *intf, bool addRef = false) : TComInterface<_CultureInfo>(intf, addRef) {}
  TCOM_CultureInfoT(const TCOM_CultureInfoT& src) : TComInterface<_CultureInfo>(src) {}
  TCOM_CultureInfoT& operator=(const TCOM_CultureInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CultureInfoT<_CultureInfo> TCOM_CultureInfo;

// *********************************************************************//
// DispIntf:  _CultureInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {152722C2-F0B1-3D19-ADA8-F40CA5CAECB8}
// *********************************************************************//
template<class T>
class _CultureInfoDispT : public TAutoDriver<_CultureInfo>
{
public:
  _CultureInfoDispT(){}

  _CultureInfoDispT(_CultureInfo *pintf)
  {
    TAutoDriver<_CultureInfo>::Bind(pintf, false);
  }

  _CultureInfoDispT(_CultureInfoPtr pintf)
  {
    TAutoDriver<_CultureInfo>::Bind(pintf, true);
  }

  _CultureInfoDispT& operator=(_CultureInfo *pintf)
  {
    TAutoDriver<_CultureInfo>::Bind(pintf, false);
    return *this;
  }

  _CultureInfoDispT& operator=(_CultureInfoPtr pintf)
  {
    TAutoDriver<_CultureInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CultureInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CultureInfo);
  }


};
typedef _CultureInfoDispT<_CultureInfo> _CultureInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_DateTimeFormatInfo
// Interface: _DateTimeFormatInfo
// *********************************************************************//
template <class T /* _DateTimeFormatInfo */ >
class TCOM_DateTimeFormatInfoT : public TComInterface<_DateTimeFormatInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DateTimeFormatInfoT() {}
  TCOM_DateTimeFormatInfoT(_DateTimeFormatInfo *intf, bool addRef = false) : TComInterface<_DateTimeFormatInfo>(intf, addRef) {}
  TCOM_DateTimeFormatInfoT(const TCOM_DateTimeFormatInfoT& src) : TComInterface<_DateTimeFormatInfo>(src) {}
  TCOM_DateTimeFormatInfoT& operator=(const TCOM_DateTimeFormatInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DateTimeFormatInfoT<_DateTimeFormatInfo> TCOM_DateTimeFormatInfo;

// *********************************************************************//
// DispIntf:  _DateTimeFormatInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {015E9F67-337C-398A-A0C1-DA4AF1905571}
// *********************************************************************//
template<class T>
class _DateTimeFormatInfoDispT : public TAutoDriver<_DateTimeFormatInfo>
{
public:
  _DateTimeFormatInfoDispT(){}

  _DateTimeFormatInfoDispT(_DateTimeFormatInfo *pintf)
  {
    TAutoDriver<_DateTimeFormatInfo>::Bind(pintf, false);
  }

  _DateTimeFormatInfoDispT(_DateTimeFormatInfoPtr pintf)
  {
    TAutoDriver<_DateTimeFormatInfo>::Bind(pintf, true);
  }

  _DateTimeFormatInfoDispT& operator=(_DateTimeFormatInfo *pintf)
  {
    TAutoDriver<_DateTimeFormatInfo>::Bind(pintf, false);
    return *this;
  }

  _DateTimeFormatInfoDispT& operator=(_DateTimeFormatInfoPtr pintf)
  {
    TAutoDriver<_DateTimeFormatInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DateTimeFormatInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DateTimeFormatInfo);
  }


};
typedef _DateTimeFormatInfoDispT<_DateTimeFormatInfo> _DateTimeFormatInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_DaylightTime
// Interface: _DaylightTime
// *********************************************************************//
template <class T /* _DaylightTime */ >
class TCOM_DaylightTimeT : public TComInterface<_DaylightTime>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DaylightTimeT() {}
  TCOM_DaylightTimeT(_DaylightTime *intf, bool addRef = false) : TComInterface<_DaylightTime>(intf, addRef) {}
  TCOM_DaylightTimeT(const TCOM_DaylightTimeT& src) : TComInterface<_DaylightTime>(src) {}
  TCOM_DaylightTimeT& operator=(const TCOM_DaylightTimeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DaylightTimeT<_DaylightTime> TCOM_DaylightTime;

// *********************************************************************//
// DispIntf:  _DaylightTime
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EFEA8FEB-EE7F-3E48-8A36-6206A6ACBF73}
// *********************************************************************//
template<class T>
class _DaylightTimeDispT : public TAutoDriver<_DaylightTime>
{
public:
  _DaylightTimeDispT(){}

  _DaylightTimeDispT(_DaylightTime *pintf)
  {
    TAutoDriver<_DaylightTime>::Bind(pintf, false);
  }

  _DaylightTimeDispT(_DaylightTimePtr pintf)
  {
    TAutoDriver<_DaylightTime>::Bind(pintf, true);
  }

  _DaylightTimeDispT& operator=(_DaylightTime *pintf)
  {
    TAutoDriver<_DaylightTime>::Bind(pintf, false);
    return *this;
  }

  _DaylightTimeDispT& operator=(_DaylightTimePtr pintf)
  {
    TAutoDriver<_DaylightTime>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DaylightTime));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DaylightTime);
  }


};
typedef _DaylightTimeDispT<_DaylightTime> _DaylightTimeDisp;

// *********************************************************************//
// SmartIntf: TCOM_GregorianCalendar
// Interface: _GregorianCalendar
// *********************************************************************//
template <class T /* _GregorianCalendar */ >
class TCOM_GregorianCalendarT : public TComInterface<_GregorianCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GregorianCalendarT() {}
  TCOM_GregorianCalendarT(_GregorianCalendar *intf, bool addRef = false) : TComInterface<_GregorianCalendar>(intf, addRef) {}
  TCOM_GregorianCalendarT(const TCOM_GregorianCalendarT& src) : TComInterface<_GregorianCalendar>(src) {}
  TCOM_GregorianCalendarT& operator=(const TCOM_GregorianCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GregorianCalendarT<_GregorianCalendar> TCOM_GregorianCalendar;

// *********************************************************************//
// DispIntf:  _GregorianCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {677AD8B5-8A0E-3C39-92FB-72FB817CF694}
// *********************************************************************//
template<class T>
class _GregorianCalendarDispT : public TAutoDriver<_GregorianCalendar>
{
public:
  _GregorianCalendarDispT(){}

  _GregorianCalendarDispT(_GregorianCalendar *pintf)
  {
    TAutoDriver<_GregorianCalendar>::Bind(pintf, false);
  }

  _GregorianCalendarDispT(_GregorianCalendarPtr pintf)
  {
    TAutoDriver<_GregorianCalendar>::Bind(pintf, true);
  }

  _GregorianCalendarDispT& operator=(_GregorianCalendar *pintf)
  {
    TAutoDriver<_GregorianCalendar>::Bind(pintf, false);
    return *this;
  }

  _GregorianCalendarDispT& operator=(_GregorianCalendarPtr pintf)
  {
    TAutoDriver<_GregorianCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GregorianCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GregorianCalendar);
  }


};
typedef _GregorianCalendarDispT<_GregorianCalendar> _GregorianCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_HebrewCalendar
// Interface: _HebrewCalendar
// *********************************************************************//
template <class T /* _HebrewCalendar */ >
class TCOM_HebrewCalendarT : public TComInterface<_HebrewCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HebrewCalendarT() {}
  TCOM_HebrewCalendarT(_HebrewCalendar *intf, bool addRef = false) : TComInterface<_HebrewCalendar>(intf, addRef) {}
  TCOM_HebrewCalendarT(const TCOM_HebrewCalendarT& src) : TComInterface<_HebrewCalendar>(src) {}
  TCOM_HebrewCalendarT& operator=(const TCOM_HebrewCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HebrewCalendarT<_HebrewCalendar> TCOM_HebrewCalendar;

// *********************************************************************//
// DispIntf:  _HebrewCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {96A62D6C-72A9-387A-81FA-E6DD5998CAEE}
// *********************************************************************//
template<class T>
class _HebrewCalendarDispT : public TAutoDriver<_HebrewCalendar>
{
public:
  _HebrewCalendarDispT(){}

  _HebrewCalendarDispT(_HebrewCalendar *pintf)
  {
    TAutoDriver<_HebrewCalendar>::Bind(pintf, false);
  }

  _HebrewCalendarDispT(_HebrewCalendarPtr pintf)
  {
    TAutoDriver<_HebrewCalendar>::Bind(pintf, true);
  }

  _HebrewCalendarDispT& operator=(_HebrewCalendar *pintf)
  {
    TAutoDriver<_HebrewCalendar>::Bind(pintf, false);
    return *this;
  }

  _HebrewCalendarDispT& operator=(_HebrewCalendarPtr pintf)
  {
    TAutoDriver<_HebrewCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HebrewCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HebrewCalendar);
  }


};
typedef _HebrewCalendarDispT<_HebrewCalendar> _HebrewCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_HijriCalendar
// Interface: _HijriCalendar
// *********************************************************************//
template <class T /* _HijriCalendar */ >
class TCOM_HijriCalendarT : public TComInterface<_HijriCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HijriCalendarT() {}
  TCOM_HijriCalendarT(_HijriCalendar *intf, bool addRef = false) : TComInterface<_HijriCalendar>(intf, addRef) {}
  TCOM_HijriCalendarT(const TCOM_HijriCalendarT& src) : TComInterface<_HijriCalendar>(src) {}
  TCOM_HijriCalendarT& operator=(const TCOM_HijriCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HijriCalendarT<_HijriCalendar> TCOM_HijriCalendar;

// *********************************************************************//
// DispIntf:  _HijriCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {28DDC187-56B2-34CF-A078-48BD1E113D1E}
// *********************************************************************//
template<class T>
class _HijriCalendarDispT : public TAutoDriver<_HijriCalendar>
{
public:
  _HijriCalendarDispT(){}

  _HijriCalendarDispT(_HijriCalendar *pintf)
  {
    TAutoDriver<_HijriCalendar>::Bind(pintf, false);
  }

  _HijriCalendarDispT(_HijriCalendarPtr pintf)
  {
    TAutoDriver<_HijriCalendar>::Bind(pintf, true);
  }

  _HijriCalendarDispT& operator=(_HijriCalendar *pintf)
  {
    TAutoDriver<_HijriCalendar>::Bind(pintf, false);
    return *this;
  }

  _HijriCalendarDispT& operator=(_HijriCalendarPtr pintf)
  {
    TAutoDriver<_HijriCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HijriCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HijriCalendar);
  }


};
typedef _HijriCalendarDispT<_HijriCalendar> _HijriCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_JapaneseCalendar
// Interface: _JapaneseCalendar
// *********************************************************************//
template <class T /* _JapaneseCalendar */ >
class TCOM_JapaneseCalendarT : public TComInterface<_JapaneseCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_JapaneseCalendarT() {}
  TCOM_JapaneseCalendarT(_JapaneseCalendar *intf, bool addRef = false) : TComInterface<_JapaneseCalendar>(intf, addRef) {}
  TCOM_JapaneseCalendarT(const TCOM_JapaneseCalendarT& src) : TComInterface<_JapaneseCalendar>(src) {}
  TCOM_JapaneseCalendarT& operator=(const TCOM_JapaneseCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_JapaneseCalendarT<_JapaneseCalendar> TCOM_JapaneseCalendar;

// *********************************************************************//
// DispIntf:  _JapaneseCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D662AE3F-CEF9-38B4-BB8E-5D8DD1DBF806}
// *********************************************************************//
template<class T>
class _JapaneseCalendarDispT : public TAutoDriver<_JapaneseCalendar>
{
public:
  _JapaneseCalendarDispT(){}

  _JapaneseCalendarDispT(_JapaneseCalendar *pintf)
  {
    TAutoDriver<_JapaneseCalendar>::Bind(pintf, false);
  }

  _JapaneseCalendarDispT(_JapaneseCalendarPtr pintf)
  {
    TAutoDriver<_JapaneseCalendar>::Bind(pintf, true);
  }

  _JapaneseCalendarDispT& operator=(_JapaneseCalendar *pintf)
  {
    TAutoDriver<_JapaneseCalendar>::Bind(pintf, false);
    return *this;
  }

  _JapaneseCalendarDispT& operator=(_JapaneseCalendarPtr pintf)
  {
    TAutoDriver<_JapaneseCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_JapaneseCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_JapaneseCalendar);
  }


};
typedef _JapaneseCalendarDispT<_JapaneseCalendar> _JapaneseCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_JulianCalendar
// Interface: _JulianCalendar
// *********************************************************************//
template <class T /* _JulianCalendar */ >
class TCOM_JulianCalendarT : public TComInterface<_JulianCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_JulianCalendarT() {}
  TCOM_JulianCalendarT(_JulianCalendar *intf, bool addRef = false) : TComInterface<_JulianCalendar>(intf, addRef) {}
  TCOM_JulianCalendarT(const TCOM_JulianCalendarT& src) : TComInterface<_JulianCalendar>(src) {}
  TCOM_JulianCalendarT& operator=(const TCOM_JulianCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_JulianCalendarT<_JulianCalendar> TCOM_JulianCalendar;

// *********************************************************************//
// DispIntf:  _JulianCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {36E2DE92-1FB3-3D7D-BA26-9CAD5B98DD52}
// *********************************************************************//
template<class T>
class _JulianCalendarDispT : public TAutoDriver<_JulianCalendar>
{
public:
  _JulianCalendarDispT(){}

  _JulianCalendarDispT(_JulianCalendar *pintf)
  {
    TAutoDriver<_JulianCalendar>::Bind(pintf, false);
  }

  _JulianCalendarDispT(_JulianCalendarPtr pintf)
  {
    TAutoDriver<_JulianCalendar>::Bind(pintf, true);
  }

  _JulianCalendarDispT& operator=(_JulianCalendar *pintf)
  {
    TAutoDriver<_JulianCalendar>::Bind(pintf, false);
    return *this;
  }

  _JulianCalendarDispT& operator=(_JulianCalendarPtr pintf)
  {
    TAutoDriver<_JulianCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_JulianCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_JulianCalendar);
  }


};
typedef _JulianCalendarDispT<_JulianCalendar> _JulianCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_KoreanCalendar
// Interface: _KoreanCalendar
// *********************************************************************//
template <class T /* _KoreanCalendar */ >
class TCOM_KoreanCalendarT : public TComInterface<_KoreanCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KoreanCalendarT() {}
  TCOM_KoreanCalendarT(_KoreanCalendar *intf, bool addRef = false) : TComInterface<_KoreanCalendar>(intf, addRef) {}
  TCOM_KoreanCalendarT(const TCOM_KoreanCalendarT& src) : TComInterface<_KoreanCalendar>(src) {}
  TCOM_KoreanCalendarT& operator=(const TCOM_KoreanCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KoreanCalendarT<_KoreanCalendar> TCOM_KoreanCalendar;

// *********************************************************************//
// DispIntf:  _KoreanCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {48BEA6C4-752E-3974-8CA8-CFB6274E2379}
// *********************************************************************//
template<class T>
class _KoreanCalendarDispT : public TAutoDriver<_KoreanCalendar>
{
public:
  _KoreanCalendarDispT(){}

  _KoreanCalendarDispT(_KoreanCalendar *pintf)
  {
    TAutoDriver<_KoreanCalendar>::Bind(pintf, false);
  }

  _KoreanCalendarDispT(_KoreanCalendarPtr pintf)
  {
    TAutoDriver<_KoreanCalendar>::Bind(pintf, true);
  }

  _KoreanCalendarDispT& operator=(_KoreanCalendar *pintf)
  {
    TAutoDriver<_KoreanCalendar>::Bind(pintf, false);
    return *this;
  }

  _KoreanCalendarDispT& operator=(_KoreanCalendarPtr pintf)
  {
    TAutoDriver<_KoreanCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KoreanCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KoreanCalendar);
  }


};
typedef _KoreanCalendarDispT<_KoreanCalendar> _KoreanCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_RegionInfo
// Interface: _RegionInfo
// *********************************************************************//
template <class T /* _RegionInfo */ >
class TCOM_RegionInfoT : public TComInterface<_RegionInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RegionInfoT() {}
  TCOM_RegionInfoT(_RegionInfo *intf, bool addRef = false) : TComInterface<_RegionInfo>(intf, addRef) {}
  TCOM_RegionInfoT(const TCOM_RegionInfoT& src) : TComInterface<_RegionInfo>(src) {}
  TCOM_RegionInfoT& operator=(const TCOM_RegionInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RegionInfoT<_RegionInfo> TCOM_RegionInfo;

// *********************************************************************//
// DispIntf:  _RegionInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F9E97E04-4E1E-368F-B6C6-5E96CE4362D6}
// *********************************************************************//
template<class T>
class _RegionInfoDispT : public TAutoDriver<_RegionInfo>
{
public:
  _RegionInfoDispT(){}

  _RegionInfoDispT(_RegionInfo *pintf)
  {
    TAutoDriver<_RegionInfo>::Bind(pintf, false);
  }

  _RegionInfoDispT(_RegionInfoPtr pintf)
  {
    TAutoDriver<_RegionInfo>::Bind(pintf, true);
  }

  _RegionInfoDispT& operator=(_RegionInfo *pintf)
  {
    TAutoDriver<_RegionInfo>::Bind(pintf, false);
    return *this;
  }

  _RegionInfoDispT& operator=(_RegionInfoPtr pintf)
  {
    TAutoDriver<_RegionInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RegionInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RegionInfo);
  }


};
typedef _RegionInfoDispT<_RegionInfo> _RegionInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_SortKey
// Interface: _SortKey
// *********************************************************************//
template <class T /* _SortKey */ >
class TCOM_SortKeyT : public TComInterface<_SortKey>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SortKeyT() {}
  TCOM_SortKeyT(_SortKey *intf, bool addRef = false) : TComInterface<_SortKey>(intf, addRef) {}
  TCOM_SortKeyT(const TCOM_SortKeyT& src) : TComInterface<_SortKey>(src) {}
  TCOM_SortKeyT& operator=(const TCOM_SortKeyT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SortKeyT<_SortKey> TCOM_SortKey;

// *********************************************************************//
// DispIntf:  _SortKey
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4C70E15-2CA6-3E90-96ED-92E28491F538}
// *********************************************************************//
template<class T>
class _SortKeyDispT : public TAutoDriver<_SortKey>
{
public:
  _SortKeyDispT(){}

  _SortKeyDispT(_SortKey *pintf)
  {
    TAutoDriver<_SortKey>::Bind(pintf, false);
  }

  _SortKeyDispT(_SortKeyPtr pintf)
  {
    TAutoDriver<_SortKey>::Bind(pintf, true);
  }

  _SortKeyDispT& operator=(_SortKey *pintf)
  {
    TAutoDriver<_SortKey>::Bind(pintf, false);
    return *this;
  }

  _SortKeyDispT& operator=(_SortKeyPtr pintf)
  {
    TAutoDriver<_SortKey>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SortKey));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SortKey);
  }


};
typedef _SortKeyDispT<_SortKey> _SortKeyDisp;

// *********************************************************************//
// SmartIntf: TCOM_StringInfo
// Interface: _StringInfo
// *********************************************************************//
template <class T /* _StringInfo */ >
class TCOM_StringInfoT : public TComInterface<_StringInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StringInfoT() {}
  TCOM_StringInfoT(_StringInfo *intf, bool addRef = false) : TComInterface<_StringInfo>(intf, addRef) {}
  TCOM_StringInfoT(const TCOM_StringInfoT& src) : TComInterface<_StringInfo>(src) {}
  TCOM_StringInfoT& operator=(const TCOM_StringInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StringInfoT<_StringInfo> TCOM_StringInfo;

// *********************************************************************//
// DispIntf:  _StringInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0A25141F-51B3-3121-AA30-0AF4556A52D9}
// *********************************************************************//
template<class T>
class _StringInfoDispT : public TAutoDriver<_StringInfo>
{
public:
  _StringInfoDispT(){}

  _StringInfoDispT(_StringInfo *pintf)
  {
    TAutoDriver<_StringInfo>::Bind(pintf, false);
  }

  _StringInfoDispT(_StringInfoPtr pintf)
  {
    TAutoDriver<_StringInfo>::Bind(pintf, true);
  }

  _StringInfoDispT& operator=(_StringInfo *pintf)
  {
    TAutoDriver<_StringInfo>::Bind(pintf, false);
    return *this;
  }

  _StringInfoDispT& operator=(_StringInfoPtr pintf)
  {
    TAutoDriver<_StringInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StringInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StringInfo);
  }


};
typedef _StringInfoDispT<_StringInfo> _StringInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_TaiwanCalendar
// Interface: _TaiwanCalendar
// *********************************************************************//
template <class T /* _TaiwanCalendar */ >
class TCOM_TaiwanCalendarT : public TComInterface<_TaiwanCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TaiwanCalendarT() {}
  TCOM_TaiwanCalendarT(_TaiwanCalendar *intf, bool addRef = false) : TComInterface<_TaiwanCalendar>(intf, addRef) {}
  TCOM_TaiwanCalendarT(const TCOM_TaiwanCalendarT& src) : TComInterface<_TaiwanCalendar>(src) {}
  TCOM_TaiwanCalendarT& operator=(const TCOM_TaiwanCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TaiwanCalendarT<_TaiwanCalendar> TCOM_TaiwanCalendar;

// *********************************************************************//
// DispIntf:  _TaiwanCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0C08ED74-0ACF-32A9-99DF-09A9DC4786DD}
// *********************************************************************//
template<class T>
class _TaiwanCalendarDispT : public TAutoDriver<_TaiwanCalendar>
{
public:
  _TaiwanCalendarDispT(){}

  _TaiwanCalendarDispT(_TaiwanCalendar *pintf)
  {
    TAutoDriver<_TaiwanCalendar>::Bind(pintf, false);
  }

  _TaiwanCalendarDispT(_TaiwanCalendarPtr pintf)
  {
    TAutoDriver<_TaiwanCalendar>::Bind(pintf, true);
  }

  _TaiwanCalendarDispT& operator=(_TaiwanCalendar *pintf)
  {
    TAutoDriver<_TaiwanCalendar>::Bind(pintf, false);
    return *this;
  }

  _TaiwanCalendarDispT& operator=(_TaiwanCalendarPtr pintf)
  {
    TAutoDriver<_TaiwanCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TaiwanCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TaiwanCalendar);
  }


};
typedef _TaiwanCalendarDispT<_TaiwanCalendar> _TaiwanCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_TextElementEnumerator
// Interface: _TextElementEnumerator
// *********************************************************************//
template <class T /* _TextElementEnumerator */ >
class TCOM_TextElementEnumeratorT : public TComInterface<_TextElementEnumerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TextElementEnumeratorT() {}
  TCOM_TextElementEnumeratorT(_TextElementEnumerator *intf, bool addRef = false) : TComInterface<_TextElementEnumerator>(intf, addRef) {}
  TCOM_TextElementEnumeratorT(const TCOM_TextElementEnumeratorT& src) : TComInterface<_TextElementEnumerator>(src) {}
  TCOM_TextElementEnumeratorT& operator=(const TCOM_TextElementEnumeratorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TextElementEnumeratorT<_TextElementEnumerator> TCOM_TextElementEnumerator;

// *********************************************************************//
// DispIntf:  _TextElementEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8C248251-3E6C-3151-9F8E-A255FB8D2B12}
// *********************************************************************//
template<class T>
class _TextElementEnumeratorDispT : public TAutoDriver<_TextElementEnumerator>
{
public:
  _TextElementEnumeratorDispT(){}

  _TextElementEnumeratorDispT(_TextElementEnumerator *pintf)
  {
    TAutoDriver<_TextElementEnumerator>::Bind(pintf, false);
  }

  _TextElementEnumeratorDispT(_TextElementEnumeratorPtr pintf)
  {
    TAutoDriver<_TextElementEnumerator>::Bind(pintf, true);
  }

  _TextElementEnumeratorDispT& operator=(_TextElementEnumerator *pintf)
  {
    TAutoDriver<_TextElementEnumerator>::Bind(pintf, false);
    return *this;
  }

  _TextElementEnumeratorDispT& operator=(_TextElementEnumeratorPtr pintf)
  {
    TAutoDriver<_TextElementEnumerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TextElementEnumerator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TextElementEnumerator);
  }


};
typedef _TextElementEnumeratorDispT<_TextElementEnumerator> _TextElementEnumeratorDisp;

// *********************************************************************//
// SmartIntf: TCOM_TextInfo
// Interface: _TextInfo
// *********************************************************************//
template <class T /* _TextInfo */ >
class TCOM_TextInfoT : public TComInterface<_TextInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TextInfoT() {}
  TCOM_TextInfoT(_TextInfo *intf, bool addRef = false) : TComInterface<_TextInfo>(intf, addRef) {}
  TCOM_TextInfoT(const TCOM_TextInfoT& src) : TComInterface<_TextInfo>(src) {}
  TCOM_TextInfoT& operator=(const TCOM_TextInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TextInfoT<_TextInfo> TCOM_TextInfo;

// *********************************************************************//
// DispIntf:  _TextInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DB8DE23F-F264-39AC-B61C-CC1E7EB4A5E6}
// *********************************************************************//
template<class T>
class _TextInfoDispT : public TAutoDriver<_TextInfo>
{
public:
  _TextInfoDispT(){}

  _TextInfoDispT(_TextInfo *pintf)
  {
    TAutoDriver<_TextInfo>::Bind(pintf, false);
  }

  _TextInfoDispT(_TextInfoPtr pintf)
  {
    TAutoDriver<_TextInfo>::Bind(pintf, true);
  }

  _TextInfoDispT& operator=(_TextInfo *pintf)
  {
    TAutoDriver<_TextInfo>::Bind(pintf, false);
    return *this;
  }

  _TextInfoDispT& operator=(_TextInfoPtr pintf)
  {
    TAutoDriver<_TextInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TextInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TextInfo);
  }


};
typedef _TextInfoDispT<_TextInfo> _TextInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_ThaiBuddhistCalendar
// Interface: _ThaiBuddhistCalendar
// *********************************************************************//
template <class T /* _ThaiBuddhistCalendar */ >
class TCOM_ThaiBuddhistCalendarT : public TComInterface<_ThaiBuddhistCalendar>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ThaiBuddhistCalendarT() {}
  TCOM_ThaiBuddhistCalendarT(_ThaiBuddhistCalendar *intf, bool addRef = false) : TComInterface<_ThaiBuddhistCalendar>(intf, addRef) {}
  TCOM_ThaiBuddhistCalendarT(const TCOM_ThaiBuddhistCalendarT& src) : TComInterface<_ThaiBuddhistCalendar>(src) {}
  TCOM_ThaiBuddhistCalendarT& operator=(const TCOM_ThaiBuddhistCalendarT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ThaiBuddhistCalendarT<_ThaiBuddhistCalendar> TCOM_ThaiBuddhistCalendar;

// *********************************************************************//
// DispIntf:  _ThaiBuddhistCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C70C8AE8-925B-37CE-8944-34F15FF94307}
// *********************************************************************//
template<class T>
class _ThaiBuddhistCalendarDispT : public TAutoDriver<_ThaiBuddhistCalendar>
{
public:
  _ThaiBuddhistCalendarDispT(){}

  _ThaiBuddhistCalendarDispT(_ThaiBuddhistCalendar *pintf)
  {
    TAutoDriver<_ThaiBuddhistCalendar>::Bind(pintf, false);
  }

  _ThaiBuddhistCalendarDispT(_ThaiBuddhistCalendarPtr pintf)
  {
    TAutoDriver<_ThaiBuddhistCalendar>::Bind(pintf, true);
  }

  _ThaiBuddhistCalendarDispT& operator=(_ThaiBuddhistCalendar *pintf)
  {
    TAutoDriver<_ThaiBuddhistCalendar>::Bind(pintf, false);
    return *this;
  }

  _ThaiBuddhistCalendarDispT& operator=(_ThaiBuddhistCalendarPtr pintf)
  {
    TAutoDriver<_ThaiBuddhistCalendar>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ThaiBuddhistCalendar));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ThaiBuddhistCalendar);
  }


};
typedef _ThaiBuddhistCalendarDispT<_ThaiBuddhistCalendar> _ThaiBuddhistCalendarDisp;

// *********************************************************************//
// SmartIntf: TCOM_NumberFormatInfo
// Interface: _NumberFormatInfo
// *********************************************************************//
template <class T /* _NumberFormatInfo */ >
class TCOM_NumberFormatInfoT : public TComInterface<_NumberFormatInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NumberFormatInfoT() {}
  TCOM_NumberFormatInfoT(_NumberFormatInfo *intf, bool addRef = false) : TComInterface<_NumberFormatInfo>(intf, addRef) {}
  TCOM_NumberFormatInfoT(const TCOM_NumberFormatInfoT& src) : TComInterface<_NumberFormatInfo>(src) {}
  TCOM_NumberFormatInfoT& operator=(const TCOM_NumberFormatInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NumberFormatInfoT<_NumberFormatInfo> TCOM_NumberFormatInfo;

// *********************************************************************//
// DispIntf:  _NumberFormatInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {25E47D71-20DD-31BE-B261-7AE76497D6B9}
// *********************************************************************//
template<class T>
class _NumberFormatInfoDispT : public TAutoDriver<_NumberFormatInfo>
{
public:
  _NumberFormatInfoDispT(){}

  _NumberFormatInfoDispT(_NumberFormatInfo *pintf)
  {
    TAutoDriver<_NumberFormatInfo>::Bind(pintf, false);
  }

  _NumberFormatInfoDispT(_NumberFormatInfoPtr pintf)
  {
    TAutoDriver<_NumberFormatInfo>::Bind(pintf, true);
  }

  _NumberFormatInfoDispT& operator=(_NumberFormatInfo *pintf)
  {
    TAutoDriver<_NumberFormatInfo>::Bind(pintf, false);
    return *this;
  }

  _NumberFormatInfoDispT& operator=(_NumberFormatInfoPtr pintf)
  {
    TAutoDriver<_NumberFormatInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NumberFormatInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NumberFormatInfo);
  }


};
typedef _NumberFormatInfoDispT<_NumberFormatInfo> _NumberFormatInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_Encoding
// Interface: _Encoding
// *********************************************************************//
template <class T /* _Encoding */ >
class TCOM_EncodingT : public TComInterface<_Encoding>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EncodingT() {}
  TCOM_EncodingT(_Encoding *intf, bool addRef = false) : TComInterface<_Encoding>(intf, addRef) {}
  TCOM_EncodingT(const TCOM_EncodingT& src) : TComInterface<_Encoding>(src) {}
  TCOM_EncodingT& operator=(const TCOM_EncodingT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EncodingT<_Encoding> TCOM_Encoding;

// *********************************************************************//
// DispIntf:  _Encoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DDEDB94D-4F3F-35C1-97C9-3F1D87628D9E}
// *********************************************************************//
template<class T>
class _EncodingDispT : public TAutoDriver<_Encoding>
{
public:
  _EncodingDispT(){}

  _EncodingDispT(_Encoding *pintf)
  {
    TAutoDriver<_Encoding>::Bind(pintf, false);
  }

  _EncodingDispT(_EncodingPtr pintf)
  {
    TAutoDriver<_Encoding>::Bind(pintf, true);
  }

  _EncodingDispT& operator=(_Encoding *pintf)
  {
    TAutoDriver<_Encoding>::Bind(pintf, false);
    return *this;
  }

  _EncodingDispT& operator=(_EncodingPtr pintf)
  {
    TAutoDriver<_Encoding>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Encoding));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Encoding);
  }


};
typedef _EncodingDispT<_Encoding> _EncodingDisp;

// *********************************************************************//
// SmartIntf: TCOM_Encoder
// Interface: _Encoder
// *********************************************************************//
template <class T /* _Encoder */ >
class TCOM_EncoderT : public TComInterface<_Encoder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EncoderT() {}
  TCOM_EncoderT(_Encoder *intf, bool addRef = false) : TComInterface<_Encoder>(intf, addRef) {}
  TCOM_EncoderT(const TCOM_EncoderT& src) : TComInterface<_Encoder>(src) {}
  TCOM_EncoderT& operator=(const TCOM_EncoderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EncoderT<_Encoder> TCOM_Encoder;

// *********************************************************************//
// DispIntf:  _Encoder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8FD56502-8724-3DF0-A1B5-9D0E8D4E4F78}
// *********************************************************************//
template<class T>
class _EncoderDispT : public TAutoDriver<_Encoder>
{
public:
  _EncoderDispT(){}

  _EncoderDispT(_Encoder *pintf)
  {
    TAutoDriver<_Encoder>::Bind(pintf, false);
  }

  _EncoderDispT(_EncoderPtr pintf)
  {
    TAutoDriver<_Encoder>::Bind(pintf, true);
  }

  _EncoderDispT& operator=(_Encoder *pintf)
  {
    TAutoDriver<_Encoder>::Bind(pintf, false);
    return *this;
  }

  _EncoderDispT& operator=(_EncoderPtr pintf)
  {
    TAutoDriver<_Encoder>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Encoder));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Encoder);
  }


};
typedef _EncoderDispT<_Encoder> _EncoderDisp;

// *********************************************************************//
// SmartIntf: TCOM_Decoder
// Interface: _Decoder
// *********************************************************************//
template <class T /* _Decoder */ >
class TCOM_DecoderT : public TComInterface<_Decoder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DecoderT() {}
  TCOM_DecoderT(_Decoder *intf, bool addRef = false) : TComInterface<_Decoder>(intf, addRef) {}
  TCOM_DecoderT(const TCOM_DecoderT& src) : TComInterface<_Decoder>(src) {}
  TCOM_DecoderT& operator=(const TCOM_DecoderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DecoderT<_Decoder> TCOM_Decoder;

// *********************************************************************//
// DispIntf:  _Decoder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2ADB0D4A-5976-38E4-852B-C131797430F5}
// *********************************************************************//
template<class T>
class _DecoderDispT : public TAutoDriver<_Decoder>
{
public:
  _DecoderDispT(){}

  _DecoderDispT(_Decoder *pintf)
  {
    TAutoDriver<_Decoder>::Bind(pintf, false);
  }

  _DecoderDispT(_DecoderPtr pintf)
  {
    TAutoDriver<_Decoder>::Bind(pintf, true);
  }

  _DecoderDispT& operator=(_Decoder *pintf)
  {
    TAutoDriver<_Decoder>::Bind(pintf, false);
    return *this;
  }

  _DecoderDispT& operator=(_DecoderPtr pintf)
  {
    TAutoDriver<_Decoder>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Decoder));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Decoder);
  }


};
typedef _DecoderDispT<_Decoder> _DecoderDisp;

// *********************************************************************//
// SmartIntf: TCOM_ASCIIEncoding
// Interface: _ASCIIEncoding
// *********************************************************************//
template <class T /* _ASCIIEncoding */ >
class TCOM_ASCIIEncodingT : public TComInterface<_ASCIIEncoding>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ASCIIEncodingT() {}
  TCOM_ASCIIEncodingT(_ASCIIEncoding *intf, bool addRef = false) : TComInterface<_ASCIIEncoding>(intf, addRef) {}
  TCOM_ASCIIEncodingT(const TCOM_ASCIIEncodingT& src) : TComInterface<_ASCIIEncoding>(src) {}
  TCOM_ASCIIEncodingT& operator=(const TCOM_ASCIIEncodingT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ASCIIEncodingT<_ASCIIEncoding> TCOM_ASCIIEncoding;

// *********************************************************************//
// DispIntf:  _ASCIIEncoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0CBE0204-12A1-3D40-9D9E-195DE6AAA534}
// *********************************************************************//
template<class T>
class _ASCIIEncodingDispT : public TAutoDriver<_ASCIIEncoding>
{
public:
  _ASCIIEncodingDispT(){}

  _ASCIIEncodingDispT(_ASCIIEncoding *pintf)
  {
    TAutoDriver<_ASCIIEncoding>::Bind(pintf, false);
  }

  _ASCIIEncodingDispT(_ASCIIEncodingPtr pintf)
  {
    TAutoDriver<_ASCIIEncoding>::Bind(pintf, true);
  }

  _ASCIIEncodingDispT& operator=(_ASCIIEncoding *pintf)
  {
    TAutoDriver<_ASCIIEncoding>::Bind(pintf, false);
    return *this;
  }

  _ASCIIEncodingDispT& operator=(_ASCIIEncodingPtr pintf)
  {
    TAutoDriver<_ASCIIEncoding>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ASCIIEncoding));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ASCIIEncoding);
  }


};
typedef _ASCIIEncodingDispT<_ASCIIEncoding> _ASCIIEncodingDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnicodeEncoding
// Interface: _UnicodeEncoding
// *********************************************************************//
template <class T /* _UnicodeEncoding */ >
class TCOM_UnicodeEncodingT : public TComInterface<_UnicodeEncoding>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnicodeEncodingT() {}
  TCOM_UnicodeEncodingT(_UnicodeEncoding *intf, bool addRef = false) : TComInterface<_UnicodeEncoding>(intf, addRef) {}
  TCOM_UnicodeEncodingT(const TCOM_UnicodeEncodingT& src) : TComInterface<_UnicodeEncoding>(src) {}
  TCOM_UnicodeEncodingT& operator=(const TCOM_UnicodeEncodingT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnicodeEncodingT<_UnicodeEncoding> TCOM_UnicodeEncoding;

// *********************************************************************//
// DispIntf:  _UnicodeEncoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F7DD3B7F-2B05-3894-8EDA-59CDF9395B6A}
// *********************************************************************//
template<class T>
class _UnicodeEncodingDispT : public TAutoDriver<_UnicodeEncoding>
{
public:
  _UnicodeEncodingDispT(){}

  _UnicodeEncodingDispT(_UnicodeEncoding *pintf)
  {
    TAutoDriver<_UnicodeEncoding>::Bind(pintf, false);
  }

  _UnicodeEncodingDispT(_UnicodeEncodingPtr pintf)
  {
    TAutoDriver<_UnicodeEncoding>::Bind(pintf, true);
  }

  _UnicodeEncodingDispT& operator=(_UnicodeEncoding *pintf)
  {
    TAutoDriver<_UnicodeEncoding>::Bind(pintf, false);
    return *this;
  }

  _UnicodeEncodingDispT& operator=(_UnicodeEncodingPtr pintf)
  {
    TAutoDriver<_UnicodeEncoding>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnicodeEncoding));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnicodeEncoding);
  }


};
typedef _UnicodeEncodingDispT<_UnicodeEncoding> _UnicodeEncodingDisp;

// *********************************************************************//
// SmartIntf: TCOM_UTF7Encoding
// Interface: _UTF7Encoding
// *********************************************************************//
template <class T /* _UTF7Encoding */ >
class TCOM_UTF7EncodingT : public TComInterface<_UTF7Encoding>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UTF7EncodingT() {}
  TCOM_UTF7EncodingT(_UTF7Encoding *intf, bool addRef = false) : TComInterface<_UTF7Encoding>(intf, addRef) {}
  TCOM_UTF7EncodingT(const TCOM_UTF7EncodingT& src) : TComInterface<_UTF7Encoding>(src) {}
  TCOM_UTF7EncodingT& operator=(const TCOM_UTF7EncodingT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UTF7EncodingT<_UTF7Encoding> TCOM_UTF7Encoding;

// *********************************************************************//
// DispIntf:  _UTF7Encoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {89B9F00B-AA2A-3A49-91B4-E8D1F1C00E58}
// *********************************************************************//
template<class T>
class _UTF7EncodingDispT : public TAutoDriver<_UTF7Encoding>
{
public:
  _UTF7EncodingDispT(){}

  _UTF7EncodingDispT(_UTF7Encoding *pintf)
  {
    TAutoDriver<_UTF7Encoding>::Bind(pintf, false);
  }

  _UTF7EncodingDispT(_UTF7EncodingPtr pintf)
  {
    TAutoDriver<_UTF7Encoding>::Bind(pintf, true);
  }

  _UTF7EncodingDispT& operator=(_UTF7Encoding *pintf)
  {
    TAutoDriver<_UTF7Encoding>::Bind(pintf, false);
    return *this;
  }

  _UTF7EncodingDispT& operator=(_UTF7EncodingPtr pintf)
  {
    TAutoDriver<_UTF7Encoding>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UTF7Encoding));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UTF7Encoding);
  }


};
typedef _UTF7EncodingDispT<_UTF7Encoding> _UTF7EncodingDisp;

// *********************************************************************//
// SmartIntf: TCOM_UTF8Encoding
// Interface: _UTF8Encoding
// *********************************************************************//
template <class T /* _UTF8Encoding */ >
class TCOM_UTF8EncodingT : public TComInterface<_UTF8Encoding>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UTF8EncodingT() {}
  TCOM_UTF8EncodingT(_UTF8Encoding *intf, bool addRef = false) : TComInterface<_UTF8Encoding>(intf, addRef) {}
  TCOM_UTF8EncodingT(const TCOM_UTF8EncodingT& src) : TComInterface<_UTF8Encoding>(src) {}
  TCOM_UTF8EncodingT& operator=(const TCOM_UTF8EncodingT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UTF8EncodingT<_UTF8Encoding> TCOM_UTF8Encoding;

// *********************************************************************//
// DispIntf:  _UTF8Encoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {010FC1D0-3EF9-3F3B-AA0A-B78A1FF83A37}
// *********************************************************************//
template<class T>
class _UTF8EncodingDispT : public TAutoDriver<_UTF8Encoding>
{
public:
  _UTF8EncodingDispT(){}

  _UTF8EncodingDispT(_UTF8Encoding *pintf)
  {
    TAutoDriver<_UTF8Encoding>::Bind(pintf, false);
  }

  _UTF8EncodingDispT(_UTF8EncodingPtr pintf)
  {
    TAutoDriver<_UTF8Encoding>::Bind(pintf, true);
  }

  _UTF8EncodingDispT& operator=(_UTF8Encoding *pintf)
  {
    TAutoDriver<_UTF8Encoding>::Bind(pintf, false);
    return *this;
  }

  _UTF8EncodingDispT& operator=(_UTF8EncodingPtr pintf)
  {
    TAutoDriver<_UTF8Encoding>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UTF8Encoding));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UTF8Encoding);
  }


};
typedef _UTF8EncodingDispT<_UTF8Encoding> _UTF8EncodingDisp;

typedef TComInterface<IResourceReader>  TCOMIResourceReader;

// *********************************************************************//
// DispIntf:  IResourceReader
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {8965A22F-FBA8-36AD-8132-70BBD0DA457D}
// *********************************************************************//
template<class T>
class IResourceReaderDispT : public TAutoDriver<IResourceReader>
{
public:
  IResourceReaderDispT(){}

  IResourceReaderDispT(IResourceReader *pintf)
  {
    TAutoDriver<IResourceReader>::Bind(pintf, false);
  }

  IResourceReaderDispT(IResourceReaderPtr pintf)
  {
    TAutoDriver<IResourceReader>::Bind(pintf, true);
  }

  IResourceReaderDispT& operator=(IResourceReader *pintf)
  {
    TAutoDriver<IResourceReader>::Bind(pintf, false);
    return *this;
  }

  IResourceReaderDispT& operator=(IResourceReaderPtr pintf)
  {
    TAutoDriver<IResourceReader>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Close();
  HRESULT         __fastcall GetEnumerator(Mscorlib_tlb::IDictionaryEnumeratorPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IDictionaryEnumeratorPtr __fastcall GetEnumerator(void);

};
typedef IResourceReaderDispT<IResourceReader> IResourceReaderDisp;

typedef TComInterface<IResourceWriter>  TCOMIResourceWriter;

// *********************************************************************//
// DispIntf:  IResourceWriter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E97AA6E5-595E-31C3-82F0-688FB91954C6}
// *********************************************************************//
template<class T>
class IResourceWriterDispT : public TAutoDriver<IResourceWriter>
{
public:
  IResourceWriterDispT(){}

  IResourceWriterDispT(IResourceWriter *pintf)
  {
    TAutoDriver<IResourceWriter>::Bind(pintf, false);
  }

  IResourceWriterDispT(IResourceWriterPtr pintf)
  {
    TAutoDriver<IResourceWriter>::Bind(pintf, true);
  }

  IResourceWriterDispT& operator=(IResourceWriter *pintf)
  {
    TAutoDriver<IResourceWriter>::Bind(pintf, false);
    return *this;
  }

  IResourceWriterDispT& operator=(IResourceWriterPtr pintf)
  {
    TAutoDriver<IResourceWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall AddResource(BSTR name/*[in]*/, BSTR value/*[in]*/);
  HRESULT         __fastcall AddResource_2(BSTR name/*[in]*/, TVariantInParam value/*[in]*/);
  HRESULT         __fastcall AddResource_3(BSTR name/*[in]*/, LPSAFEARRAY value/*[in]*/);
  HRESULT         __fastcall Close();
  HRESULT         __fastcall Generate();

};
typedef IResourceWriterDispT<IResourceWriter> IResourceWriterDisp;

// *********************************************************************//
// SmartIntf: TCOM_MissingManifestResourceException
// Interface: _MissingManifestResourceException
// *********************************************************************//
template <class T /* _MissingManifestResourceException */ >
class TCOM_MissingManifestResourceExceptionT : public TComInterface<_MissingManifestResourceException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MissingManifestResourceExceptionT() {}
  TCOM_MissingManifestResourceExceptionT(_MissingManifestResourceException *intf, bool addRef = false) : TComInterface<_MissingManifestResourceException>(intf, addRef) {}
  TCOM_MissingManifestResourceExceptionT(const TCOM_MissingManifestResourceExceptionT& src) : TComInterface<_MissingManifestResourceException>(src) {}
  TCOM_MissingManifestResourceExceptionT& operator=(const TCOM_MissingManifestResourceExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MissingManifestResourceExceptionT<_MissingManifestResourceException> TCOM_MissingManifestResourceException;

// *********************************************************************//
// DispIntf:  _MissingManifestResourceException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1A4E1878-FE8C-3F59-B6A9-21AB82BE57E9}
// *********************************************************************//
template<class T>
class _MissingManifestResourceExceptionDispT : public TAutoDriver<_MissingManifestResourceException>
{
public:
  _MissingManifestResourceExceptionDispT(){}

  _MissingManifestResourceExceptionDispT(_MissingManifestResourceException *pintf)
  {
    TAutoDriver<_MissingManifestResourceException>::Bind(pintf, false);
  }

  _MissingManifestResourceExceptionDispT(_MissingManifestResourceExceptionPtr pintf)
  {
    TAutoDriver<_MissingManifestResourceException>::Bind(pintf, true);
  }

  _MissingManifestResourceExceptionDispT& operator=(_MissingManifestResourceException *pintf)
  {
    TAutoDriver<_MissingManifestResourceException>::Bind(pintf, false);
    return *this;
  }

  _MissingManifestResourceExceptionDispT& operator=(_MissingManifestResourceExceptionPtr pintf)
  {
    TAutoDriver<_MissingManifestResourceException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MissingManifestResourceException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MissingManifestResourceException);
  }


};
typedef _MissingManifestResourceExceptionDispT<_MissingManifestResourceException> _MissingManifestResourceExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_MissingSatelliteAssemblyException
// Interface: _MissingSatelliteAssemblyException
// *********************************************************************//
template <class T /* _MissingSatelliteAssemblyException */ >
class TCOM_MissingSatelliteAssemblyExceptionT : public TComInterface<_MissingSatelliteAssemblyException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MissingSatelliteAssemblyExceptionT() {}
  TCOM_MissingSatelliteAssemblyExceptionT(_MissingSatelliteAssemblyException *intf, bool addRef = false) : TComInterface<_MissingSatelliteAssemblyException>(intf, addRef) {}
  TCOM_MissingSatelliteAssemblyExceptionT(const TCOM_MissingSatelliteAssemblyExceptionT& src) : TComInterface<_MissingSatelliteAssemblyException>(src) {}
  TCOM_MissingSatelliteAssemblyExceptionT& operator=(const TCOM_MissingSatelliteAssemblyExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MissingSatelliteAssemblyExceptionT<_MissingSatelliteAssemblyException> TCOM_MissingSatelliteAssemblyException;

// *********************************************************************//
// DispIntf:  _MissingSatelliteAssemblyException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5A8DE087-D9D7-3BBA-92B4-FE1034A1242F}
// *********************************************************************//
template<class T>
class _MissingSatelliteAssemblyExceptionDispT : public TAutoDriver<_MissingSatelliteAssemblyException>
{
public:
  _MissingSatelliteAssemblyExceptionDispT(){}

  _MissingSatelliteAssemblyExceptionDispT(_MissingSatelliteAssemblyException *pintf)
  {
    TAutoDriver<_MissingSatelliteAssemblyException>::Bind(pintf, false);
  }

  _MissingSatelliteAssemblyExceptionDispT(_MissingSatelliteAssemblyExceptionPtr pintf)
  {
    TAutoDriver<_MissingSatelliteAssemblyException>::Bind(pintf, true);
  }

  _MissingSatelliteAssemblyExceptionDispT& operator=(_MissingSatelliteAssemblyException *pintf)
  {
    TAutoDriver<_MissingSatelliteAssemblyException>::Bind(pintf, false);
    return *this;
  }

  _MissingSatelliteAssemblyExceptionDispT& operator=(_MissingSatelliteAssemblyExceptionPtr pintf)
  {
    TAutoDriver<_MissingSatelliteAssemblyException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MissingSatelliteAssemblyException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MissingSatelliteAssemblyException);
  }


};
typedef _MissingSatelliteAssemblyExceptionDispT<_MissingSatelliteAssemblyException> _MissingSatelliteAssemblyExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_NeutralResourcesLanguageAttribute
// Interface: _NeutralResourcesLanguageAttribute
// *********************************************************************//
template <class T /* _NeutralResourcesLanguageAttribute */ >
class TCOM_NeutralResourcesLanguageAttributeT : public TComInterface<_NeutralResourcesLanguageAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NeutralResourcesLanguageAttributeT() {}
  TCOM_NeutralResourcesLanguageAttributeT(_NeutralResourcesLanguageAttribute *intf, bool addRef = false) : TComInterface<_NeutralResourcesLanguageAttribute>(intf, addRef) {}
  TCOM_NeutralResourcesLanguageAttributeT(const TCOM_NeutralResourcesLanguageAttributeT& src) : TComInterface<_NeutralResourcesLanguageAttribute>(src) {}
  TCOM_NeutralResourcesLanguageAttributeT& operator=(const TCOM_NeutralResourcesLanguageAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NeutralResourcesLanguageAttributeT<_NeutralResourcesLanguageAttribute> TCOM_NeutralResourcesLanguageAttribute;

// *********************************************************************//
// DispIntf:  _NeutralResourcesLanguageAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F48DF808-8B7D-3F4E-9159-1DFD60F298D6}
// *********************************************************************//
template<class T>
class _NeutralResourcesLanguageAttributeDispT : public TAutoDriver<_NeutralResourcesLanguageAttribute>
{
public:
  _NeutralResourcesLanguageAttributeDispT(){}

  _NeutralResourcesLanguageAttributeDispT(_NeutralResourcesLanguageAttribute *pintf)
  {
    TAutoDriver<_NeutralResourcesLanguageAttribute>::Bind(pintf, false);
  }

  _NeutralResourcesLanguageAttributeDispT(_NeutralResourcesLanguageAttributePtr pintf)
  {
    TAutoDriver<_NeutralResourcesLanguageAttribute>::Bind(pintf, true);
  }

  _NeutralResourcesLanguageAttributeDispT& operator=(_NeutralResourcesLanguageAttribute *pintf)
  {
    TAutoDriver<_NeutralResourcesLanguageAttribute>::Bind(pintf, false);
    return *this;
  }

  _NeutralResourcesLanguageAttributeDispT& operator=(_NeutralResourcesLanguageAttributePtr pintf)
  {
    TAutoDriver<_NeutralResourcesLanguageAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NeutralResourcesLanguageAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NeutralResourcesLanguageAttribute);
  }


};
typedef _NeutralResourcesLanguageAttributeDispT<_NeutralResourcesLanguageAttribute> _NeutralResourcesLanguageAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ResourceManager
// Interface: _ResourceManager
// *********************************************************************//
template <class T /* _ResourceManager */ >
class TCOM_ResourceManagerT : public TComInterface<_ResourceManager>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ResourceManagerT() {}
  TCOM_ResourceManagerT(_ResourceManager *intf, bool addRef = false) : TComInterface<_ResourceManager>(intf, addRef) {}
  TCOM_ResourceManagerT(const TCOM_ResourceManagerT& src) : TComInterface<_ResourceManager>(src) {}
  TCOM_ResourceManagerT& operator=(const TCOM_ResourceManagerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ResourceManagerT<_ResourceManager> TCOM_ResourceManager;

// *********************************************************************//
// DispIntf:  _ResourceManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4DE671B7-7C85-37E9-AFF8-1222ABE4883E}
// *********************************************************************//
template<class T>
class _ResourceManagerDispT : public TAutoDriver<_ResourceManager>
{
public:
  _ResourceManagerDispT(){}

  _ResourceManagerDispT(_ResourceManager *pintf)
  {
    TAutoDriver<_ResourceManager>::Bind(pintf, false);
  }

  _ResourceManagerDispT(_ResourceManagerPtr pintf)
  {
    TAutoDriver<_ResourceManager>::Bind(pintf, true);
  }

  _ResourceManagerDispT& operator=(_ResourceManager *pintf)
  {
    TAutoDriver<_ResourceManager>::Bind(pintf, false);
    return *this;
  }

  _ResourceManagerDispT& operator=(_ResourceManagerPtr pintf)
  {
    TAutoDriver<_ResourceManager>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ResourceManager));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ResourceManager);
  }


};
typedef _ResourceManagerDispT<_ResourceManager> _ResourceManagerDisp;

// *********************************************************************//
// SmartIntf: TCOM_ResourceReader
// Interface: _ResourceReader
// *********************************************************************//
template <class T /* _ResourceReader */ >
class TCOM_ResourceReaderT : public TComInterface<_ResourceReader>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ResourceReaderT() {}
  TCOM_ResourceReaderT(_ResourceReader *intf, bool addRef = false) : TComInterface<_ResourceReader>(intf, addRef) {}
  TCOM_ResourceReaderT(const TCOM_ResourceReaderT& src) : TComInterface<_ResourceReader>(src) {}
  TCOM_ResourceReaderT& operator=(const TCOM_ResourceReaderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ResourceReaderT<_ResourceReader> TCOM_ResourceReader;

// *********************************************************************//
// DispIntf:  _ResourceReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7FBCFDC7-5CEC-3945-8095-DAED61BE5FB1}
// *********************************************************************//
template<class T>
class _ResourceReaderDispT : public TAutoDriver<_ResourceReader>
{
public:
  _ResourceReaderDispT(){}

  _ResourceReaderDispT(_ResourceReader *pintf)
  {
    TAutoDriver<_ResourceReader>::Bind(pintf, false);
  }

  _ResourceReaderDispT(_ResourceReaderPtr pintf)
  {
    TAutoDriver<_ResourceReader>::Bind(pintf, true);
  }

  _ResourceReaderDispT& operator=(_ResourceReader *pintf)
  {
    TAutoDriver<_ResourceReader>::Bind(pintf, false);
    return *this;
  }

  _ResourceReaderDispT& operator=(_ResourceReaderPtr pintf)
  {
    TAutoDriver<_ResourceReader>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ResourceReader));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ResourceReader);
  }


};
typedef _ResourceReaderDispT<_ResourceReader> _ResourceReaderDisp;

// *********************************************************************//
// SmartIntf: TCOM_ResourceSet
// Interface: _ResourceSet
// *********************************************************************//
template <class T /* _ResourceSet */ >
class TCOM_ResourceSetT : public TComInterface<_ResourceSet>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ResourceSetT() {}
  TCOM_ResourceSetT(_ResourceSet *intf, bool addRef = false) : TComInterface<_ResourceSet>(intf, addRef) {}
  TCOM_ResourceSetT(const TCOM_ResourceSetT& src) : TComInterface<_ResourceSet>(src) {}
  TCOM_ResourceSetT& operator=(const TCOM_ResourceSetT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ResourceSetT<_ResourceSet> TCOM_ResourceSet;

// *********************************************************************//
// DispIntf:  _ResourceSet
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {44D5F81A-727C-35AE-8DF8-9FF6722F1C6C}
// *********************************************************************//
template<class T>
class _ResourceSetDispT : public TAutoDriver<_ResourceSet>
{
public:
  _ResourceSetDispT(){}

  _ResourceSetDispT(_ResourceSet *pintf)
  {
    TAutoDriver<_ResourceSet>::Bind(pintf, false);
  }

  _ResourceSetDispT(_ResourceSetPtr pintf)
  {
    TAutoDriver<_ResourceSet>::Bind(pintf, true);
  }

  _ResourceSetDispT& operator=(_ResourceSet *pintf)
  {
    TAutoDriver<_ResourceSet>::Bind(pintf, false);
    return *this;
  }

  _ResourceSetDispT& operator=(_ResourceSetPtr pintf)
  {
    TAutoDriver<_ResourceSet>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ResourceSet));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ResourceSet);
  }


};
typedef _ResourceSetDispT<_ResourceSet> _ResourceSetDisp;

// *********************************************************************//
// SmartIntf: TCOM_ResourceWriter
// Interface: _ResourceWriter
// *********************************************************************//
template <class T /* _ResourceWriter */ >
class TCOM_ResourceWriterT : public TComInterface<_ResourceWriter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ResourceWriterT() {}
  TCOM_ResourceWriterT(_ResourceWriter *intf, bool addRef = false) : TComInterface<_ResourceWriter>(intf, addRef) {}
  TCOM_ResourceWriterT(const TCOM_ResourceWriterT& src) : TComInterface<_ResourceWriter>(src) {}
  TCOM_ResourceWriterT& operator=(const TCOM_ResourceWriterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ResourceWriterT<_ResourceWriter> TCOM_ResourceWriter;

// *********************************************************************//
// DispIntf:  _ResourceWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AF170258-AAC6-3A86-BD34-303E62CED10E}
// *********************************************************************//
template<class T>
class _ResourceWriterDispT : public TAutoDriver<_ResourceWriter>
{
public:
  _ResourceWriterDispT(){}

  _ResourceWriterDispT(_ResourceWriter *pintf)
  {
    TAutoDriver<_ResourceWriter>::Bind(pintf, false);
  }

  _ResourceWriterDispT(_ResourceWriterPtr pintf)
  {
    TAutoDriver<_ResourceWriter>::Bind(pintf, true);
  }

  _ResourceWriterDispT& operator=(_ResourceWriter *pintf)
  {
    TAutoDriver<_ResourceWriter>::Bind(pintf, false);
    return *this;
  }

  _ResourceWriterDispT& operator=(_ResourceWriterPtr pintf)
  {
    TAutoDriver<_ResourceWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ResourceWriter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ResourceWriter);
  }


};
typedef _ResourceWriterDispT<_ResourceWriter> _ResourceWriterDisp;

// *********************************************************************//
// SmartIntf: TCOM_SatelliteContractVersionAttribute
// Interface: _SatelliteContractVersionAttribute
// *********************************************************************//
template <class T /* _SatelliteContractVersionAttribute */ >
class TCOM_SatelliteContractVersionAttributeT : public TComInterface<_SatelliteContractVersionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SatelliteContractVersionAttributeT() {}
  TCOM_SatelliteContractVersionAttributeT(_SatelliteContractVersionAttribute *intf, bool addRef = false) : TComInterface<_SatelliteContractVersionAttribute>(intf, addRef) {}
  TCOM_SatelliteContractVersionAttributeT(const TCOM_SatelliteContractVersionAttributeT& src) : TComInterface<_SatelliteContractVersionAttribute>(src) {}
  TCOM_SatelliteContractVersionAttributeT& operator=(const TCOM_SatelliteContractVersionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SatelliteContractVersionAttributeT<_SatelliteContractVersionAttribute> TCOM_SatelliteContractVersionAttribute;

// *********************************************************************//
// DispIntf:  _SatelliteContractVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5CBB1F47-FBA5-33B9-9D4A-57D6E3D133D2}
// *********************************************************************//
template<class T>
class _SatelliteContractVersionAttributeDispT : public TAutoDriver<_SatelliteContractVersionAttribute>
{
public:
  _SatelliteContractVersionAttributeDispT(){}

  _SatelliteContractVersionAttributeDispT(_SatelliteContractVersionAttribute *pintf)
  {
    TAutoDriver<_SatelliteContractVersionAttribute>::Bind(pintf, false);
  }

  _SatelliteContractVersionAttributeDispT(_SatelliteContractVersionAttributePtr pintf)
  {
    TAutoDriver<_SatelliteContractVersionAttribute>::Bind(pintf, true);
  }

  _SatelliteContractVersionAttributeDispT& operator=(_SatelliteContractVersionAttribute *pintf)
  {
    TAutoDriver<_SatelliteContractVersionAttribute>::Bind(pintf, false);
    return *this;
  }

  _SatelliteContractVersionAttributeDispT& operator=(_SatelliteContractVersionAttributePtr pintf)
  {
    TAutoDriver<_SatelliteContractVersionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SatelliteContractVersionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SatelliteContractVersionAttribute);
  }


};
typedef _SatelliteContractVersionAttributeDispT<_SatelliteContractVersionAttribute> _SatelliteContractVersionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_Registry
// Interface: _Registry
// *********************************************************************//
template <class T /* _Registry */ >
class TCOM_RegistryT : public TComInterface<_Registry>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RegistryT() {}
  TCOM_RegistryT(_Registry *intf, bool addRef = false) : TComInterface<_Registry>(intf, addRef) {}
  TCOM_RegistryT(const TCOM_RegistryT& src) : TComInterface<_Registry>(src) {}
  TCOM_RegistryT& operator=(const TCOM_RegistryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RegistryT<_Registry> TCOM_Registry;

// *********************************************************************//
// DispIntf:  _Registry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {23BAE0C0-3A36-32F0-9DAD-0E95ADD67D23}
// *********************************************************************//
template<class T>
class _RegistryDispT : public TAutoDriver<_Registry>
{
public:
  _RegistryDispT(){}

  _RegistryDispT(_Registry *pintf)
  {
    TAutoDriver<_Registry>::Bind(pintf, false);
  }

  _RegistryDispT(_RegistryPtr pintf)
  {
    TAutoDriver<_Registry>::Bind(pintf, true);
  }

  _RegistryDispT& operator=(_Registry *pintf)
  {
    TAutoDriver<_Registry>::Bind(pintf, false);
    return *this;
  }

  _RegistryDispT& operator=(_RegistryPtr pintf)
  {
    TAutoDriver<_Registry>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Registry));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Registry);
  }


};
typedef _RegistryDispT<_Registry> _RegistryDisp;

// *********************************************************************//
// SmartIntf: TCOM_RegistryKey
// Interface: _RegistryKey
// *********************************************************************//
template <class T /* _RegistryKey */ >
class TCOM_RegistryKeyT : public TComInterface<_RegistryKey>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RegistryKeyT() {}
  TCOM_RegistryKeyT(_RegistryKey *intf, bool addRef = false) : TComInterface<_RegistryKey>(intf, addRef) {}
  TCOM_RegistryKeyT(const TCOM_RegistryKeyT& src) : TComInterface<_RegistryKey>(src) {}
  TCOM_RegistryKeyT& operator=(const TCOM_RegistryKeyT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RegistryKeyT<_RegistryKey> TCOM_RegistryKey;

// *********************************************************************//
// DispIntf:  _RegistryKey
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2EAC6733-8D92-31D9-BE04-DC467EFC3EB1}
// *********************************************************************//
template<class T>
class _RegistryKeyDispT : public TAutoDriver<_RegistryKey>
{
public:
  _RegistryKeyDispT(){}

  _RegistryKeyDispT(_RegistryKey *pintf)
  {
    TAutoDriver<_RegistryKey>::Bind(pintf, false);
  }

  _RegistryKeyDispT(_RegistryKeyPtr pintf)
  {
    TAutoDriver<_RegistryKey>::Bind(pintf, true);
  }

  _RegistryKeyDispT& operator=(_RegistryKey *pintf)
  {
    TAutoDriver<_RegistryKey>::Bind(pintf, false);
    return *this;
  }

  _RegistryKeyDispT& operator=(_RegistryKeyPtr pintf)
  {
    TAutoDriver<_RegistryKey>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RegistryKey));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RegistryKey);
  }


};
typedef _RegistryKeyDispT<_RegistryKey> _RegistryKeyDisp;

typedef TComInterface<ISecurityEncodable>  TCOMISecurityEncodable;

// *********************************************************************//
// DispIntf:  ISecurityEncodable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FD46BDE5-ACDF-3CA5-B189-F0678387077F}
// *********************************************************************//
template<class T>
class ISecurityEncodableDispT : public TAutoDriver<ISecurityEncodable>
{
public:
  ISecurityEncodableDispT(){}

  ISecurityEncodableDispT(ISecurityEncodable *pintf)
  {
    TAutoDriver<ISecurityEncodable>::Bind(pintf, false);
  }

  ISecurityEncodableDispT(ISecurityEncodablePtr pintf)
  {
    TAutoDriver<ISecurityEncodable>::Bind(pintf, true);
  }

  ISecurityEncodableDispT& operator=(ISecurityEncodable *pintf)
  {
    TAutoDriver<ISecurityEncodable>::Bind(pintf, false);
    return *this;
  }

  ISecurityEncodableDispT& operator=(ISecurityEncodablePtr pintf)
  {
    TAutoDriver<ISecurityEncodable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall ToXml(Mscorlib_tlb::_SecurityElementPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_SecurityElementPtr __fastcall ToXml(void);
  HRESULT         __fastcall FromXml(Mscorlib_tlb::_SecurityElementPtr e/*[in]*/);

};
typedef ISecurityEncodableDispT<ISecurityEncodable> ISecurityEncodableDisp;

typedef TComInterface<ISecurityPolicyEncodable>  TCOMISecurityPolicyEncodable;

// *********************************************************************//
// DispIntf:  ISecurityPolicyEncodable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E6C21BA7-21BB-34E9-8E57-DB66D8CE4A70}
// *********************************************************************//
template<class T>
class ISecurityPolicyEncodableDispT : public TAutoDriver<ISecurityPolicyEncodable>
{
public:
  ISecurityPolicyEncodableDispT(){}

  ISecurityPolicyEncodableDispT(ISecurityPolicyEncodable *pintf)
  {
    TAutoDriver<ISecurityPolicyEncodable>::Bind(pintf, false);
  }

  ISecurityPolicyEncodableDispT(ISecurityPolicyEncodablePtr pintf)
  {
    TAutoDriver<ISecurityPolicyEncodable>::Bind(pintf, true);
  }

  ISecurityPolicyEncodableDispT& operator=(ISecurityPolicyEncodable *pintf)
  {
    TAutoDriver<ISecurityPolicyEncodable>::Bind(pintf, false);
    return *this;
  }

  ISecurityPolicyEncodableDispT& operator=(ISecurityPolicyEncodablePtr pintf)
  {
    TAutoDriver<ISecurityPolicyEncodable>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall ToXml(Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/, 
                                   Mscorlib_tlb::_SecurityElementPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_SecurityElementPtr __fastcall ToXml(Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/);
  HRESULT         __fastcall FromXml(Mscorlib_tlb::_SecurityElementPtr e/*[in]*/, 
                                     Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/);

};
typedef ISecurityPolicyEncodableDispT<ISecurityPolicyEncodable> ISecurityPolicyEncodableDisp;

typedef TComInterface<IMembershipCondition>  TCOMIMembershipCondition;

// *********************************************************************//
// DispIntf:  IMembershipCondition
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6844EFF4-4F86-3CA1-A1EA-AAF583A6395E}
// *********************************************************************//
template<class T>
class IMembershipConditionDispT : public TAutoDriver<IMembershipCondition>
{
public:
  IMembershipConditionDispT(){}

  IMembershipConditionDispT(IMembershipCondition *pintf)
  {
    TAutoDriver<IMembershipCondition>::Bind(pintf, false);
  }

  IMembershipConditionDispT(IMembershipConditionPtr pintf)
  {
    TAutoDriver<IMembershipCondition>::Bind(pintf, true);
  }

  IMembershipConditionDispT& operator=(IMembershipCondition *pintf)
  {
    TAutoDriver<IMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  IMembershipConditionDispT& operator=(IMembershipConditionPtr pintf)
  {
    TAutoDriver<IMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Check(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                   TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Check(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/);
  HRESULT         __fastcall Copy(Mscorlib_tlb::IMembershipConditionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMembershipConditionPtr __fastcall Copy(void);
  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);

  __property   BSTR            ToString = {read = get_ToString};
};
typedef IMembershipConditionDispT<IMembershipCondition> IMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_AllMembershipCondition
// Interface: _AllMembershipCondition
// *********************************************************************//
template <class T /* _AllMembershipCondition */ >
class TCOM_AllMembershipConditionT : public TComInterface<_AllMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AllMembershipConditionT() {}
  TCOM_AllMembershipConditionT(_AllMembershipCondition *intf, bool addRef = false) : TComInterface<_AllMembershipCondition>(intf, addRef) {}
  TCOM_AllMembershipConditionT(const TCOM_AllMembershipConditionT& src) : TComInterface<_AllMembershipCondition>(src) {}
  TCOM_AllMembershipConditionT& operator=(const TCOM_AllMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AllMembershipConditionT<_AllMembershipCondition> TCOM_AllMembershipCondition;

// *********************************************************************//
// DispIntf:  _AllMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {99F01720-3CC2-366D-9AB9-50E36647617F}
// *********************************************************************//
template<class T>
class _AllMembershipConditionDispT : public TAutoDriver<_AllMembershipCondition>
{
public:
  _AllMembershipConditionDispT(){}

  _AllMembershipConditionDispT(_AllMembershipCondition *pintf)
  {
    TAutoDriver<_AllMembershipCondition>::Bind(pintf, false);
  }

  _AllMembershipConditionDispT(_AllMembershipConditionPtr pintf)
  {
    TAutoDriver<_AllMembershipCondition>::Bind(pintf, true);
  }

  _AllMembershipConditionDispT& operator=(_AllMembershipCondition *pintf)
  {
    TAutoDriver<_AllMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _AllMembershipConditionDispT& operator=(_AllMembershipConditionPtr pintf)
  {
    TAutoDriver<_AllMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AllMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AllMembershipCondition);
  }


};
typedef _AllMembershipConditionDispT<_AllMembershipCondition> _AllMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationDirectory
// Interface: _ApplicationDirectory
// *********************************************************************//
template <class T /* _ApplicationDirectory */ >
class TCOM_ApplicationDirectoryT : public TComInterface<_ApplicationDirectory>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationDirectoryT() {}
  TCOM_ApplicationDirectoryT(_ApplicationDirectory *intf, bool addRef = false) : TComInterface<_ApplicationDirectory>(intf, addRef) {}
  TCOM_ApplicationDirectoryT(const TCOM_ApplicationDirectoryT& src) : TComInterface<_ApplicationDirectory>(src) {}
  TCOM_ApplicationDirectoryT& operator=(const TCOM_ApplicationDirectoryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationDirectoryT<_ApplicationDirectory> TCOM_ApplicationDirectory;

// *********************************************************************//
// DispIntf:  _ApplicationDirectory
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9CCC831B-1BA7-34BE-A966-56D5A6DB5AAD}
// *********************************************************************//
template<class T>
class _ApplicationDirectoryDispT : public TAutoDriver<_ApplicationDirectory>
{
public:
  _ApplicationDirectoryDispT(){}

  _ApplicationDirectoryDispT(_ApplicationDirectory *pintf)
  {
    TAutoDriver<_ApplicationDirectory>::Bind(pintf, false);
  }

  _ApplicationDirectoryDispT(_ApplicationDirectoryPtr pintf)
  {
    TAutoDriver<_ApplicationDirectory>::Bind(pintf, true);
  }

  _ApplicationDirectoryDispT& operator=(_ApplicationDirectory *pintf)
  {
    TAutoDriver<_ApplicationDirectory>::Bind(pintf, false);
    return *this;
  }

  _ApplicationDirectoryDispT& operator=(_ApplicationDirectoryPtr pintf)
  {
    TAutoDriver<_ApplicationDirectory>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationDirectory));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationDirectory);
  }


};
typedef _ApplicationDirectoryDispT<_ApplicationDirectory> _ApplicationDirectoryDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationDirectoryMembershipCondition
// Interface: _ApplicationDirectoryMembershipCondition
// *********************************************************************//
template <class T /* _ApplicationDirectoryMembershipCondition */ >
class TCOM_ApplicationDirectoryMembershipConditionT : public TComInterface<_ApplicationDirectoryMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationDirectoryMembershipConditionT() {}
  TCOM_ApplicationDirectoryMembershipConditionT(_ApplicationDirectoryMembershipCondition *intf, bool addRef = false) : TComInterface<_ApplicationDirectoryMembershipCondition>(intf, addRef) {}
  TCOM_ApplicationDirectoryMembershipConditionT(const TCOM_ApplicationDirectoryMembershipConditionT& src) : TComInterface<_ApplicationDirectoryMembershipCondition>(src) {}
  TCOM_ApplicationDirectoryMembershipConditionT& operator=(const TCOM_ApplicationDirectoryMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationDirectoryMembershipConditionT<_ApplicationDirectoryMembershipCondition> TCOM_ApplicationDirectoryMembershipCondition;

// *********************************************************************//
// DispIntf:  _ApplicationDirectoryMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A02A2B22-1DBA-3F92-9F84-5563182851BB}
// *********************************************************************//
template<class T>
class _ApplicationDirectoryMembershipConditionDispT : public TAutoDriver<_ApplicationDirectoryMembershipCondition>
{
public:
  _ApplicationDirectoryMembershipConditionDispT(){}

  _ApplicationDirectoryMembershipConditionDispT(_ApplicationDirectoryMembershipCondition *pintf)
  {
    TAutoDriver<_ApplicationDirectoryMembershipCondition>::Bind(pintf, false);
  }

  _ApplicationDirectoryMembershipConditionDispT(_ApplicationDirectoryMembershipConditionPtr pintf)
  {
    TAutoDriver<_ApplicationDirectoryMembershipCondition>::Bind(pintf, true);
  }

  _ApplicationDirectoryMembershipConditionDispT& operator=(_ApplicationDirectoryMembershipCondition *pintf)
  {
    TAutoDriver<_ApplicationDirectoryMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _ApplicationDirectoryMembershipConditionDispT& operator=(_ApplicationDirectoryMembershipConditionPtr pintf)
  {
    TAutoDriver<_ApplicationDirectoryMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationDirectoryMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationDirectoryMembershipCondition);
  }


};
typedef _ApplicationDirectoryMembershipConditionDispT<_ApplicationDirectoryMembershipCondition> _ApplicationDirectoryMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationSecurityInfo
// Interface: _ApplicationSecurityInfo
// *********************************************************************//
template <class T /* _ApplicationSecurityInfo */ >
class TCOM_ApplicationSecurityInfoT : public TComInterface<_ApplicationSecurityInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationSecurityInfoT() {}
  TCOM_ApplicationSecurityInfoT(_ApplicationSecurityInfo *intf, bool addRef = false) : TComInterface<_ApplicationSecurityInfo>(intf, addRef) {}
  TCOM_ApplicationSecurityInfoT(const TCOM_ApplicationSecurityInfoT& src) : TComInterface<_ApplicationSecurityInfo>(src) {}
  TCOM_ApplicationSecurityInfoT& operator=(const TCOM_ApplicationSecurityInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationSecurityInfoT<_ApplicationSecurityInfo> TCOM_ApplicationSecurityInfo;

// *********************************************************************//
// DispIntf:  _ApplicationSecurityInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {18E473F6-637B-3C01-8D46-D011AAD26C95}
// *********************************************************************//
template<class T>
class _ApplicationSecurityInfoDispT : public TAutoDriver<_ApplicationSecurityInfo>
{
public:
  _ApplicationSecurityInfoDispT(){}

  _ApplicationSecurityInfoDispT(_ApplicationSecurityInfo *pintf)
  {
    TAutoDriver<_ApplicationSecurityInfo>::Bind(pintf, false);
  }

  _ApplicationSecurityInfoDispT(_ApplicationSecurityInfoPtr pintf)
  {
    TAutoDriver<_ApplicationSecurityInfo>::Bind(pintf, true);
  }

  _ApplicationSecurityInfoDispT& operator=(_ApplicationSecurityInfo *pintf)
  {
    TAutoDriver<_ApplicationSecurityInfo>::Bind(pintf, false);
    return *this;
  }

  _ApplicationSecurityInfoDispT& operator=(_ApplicationSecurityInfoPtr pintf)
  {
    TAutoDriver<_ApplicationSecurityInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationSecurityInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationSecurityInfo);
  }


};
typedef _ApplicationSecurityInfoDispT<_ApplicationSecurityInfo> _ApplicationSecurityInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationSecurityManager
// Interface: _ApplicationSecurityManager
// *********************************************************************//
template <class T /* _ApplicationSecurityManager */ >
class TCOM_ApplicationSecurityManagerT : public TComInterface<_ApplicationSecurityManager>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationSecurityManagerT() {}
  TCOM_ApplicationSecurityManagerT(_ApplicationSecurityManager *intf, bool addRef = false) : TComInterface<_ApplicationSecurityManager>(intf, addRef) {}
  TCOM_ApplicationSecurityManagerT(const TCOM_ApplicationSecurityManagerT& src) : TComInterface<_ApplicationSecurityManager>(src) {}
  TCOM_ApplicationSecurityManagerT& operator=(const TCOM_ApplicationSecurityManagerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationSecurityManagerT<_ApplicationSecurityManager> TCOM_ApplicationSecurityManager;

// *********************************************************************//
// DispIntf:  _ApplicationSecurityManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C664FE09-0A55-316D-B25B-6B3200ECAF70}
// *********************************************************************//
template<class T>
class _ApplicationSecurityManagerDispT : public TAutoDriver<_ApplicationSecurityManager>
{
public:
  _ApplicationSecurityManagerDispT(){}

  _ApplicationSecurityManagerDispT(_ApplicationSecurityManager *pintf)
  {
    TAutoDriver<_ApplicationSecurityManager>::Bind(pintf, false);
  }

  _ApplicationSecurityManagerDispT(_ApplicationSecurityManagerPtr pintf)
  {
    TAutoDriver<_ApplicationSecurityManager>::Bind(pintf, true);
  }

  _ApplicationSecurityManagerDispT& operator=(_ApplicationSecurityManager *pintf)
  {
    TAutoDriver<_ApplicationSecurityManager>::Bind(pintf, false);
    return *this;
  }

  _ApplicationSecurityManagerDispT& operator=(_ApplicationSecurityManagerPtr pintf)
  {
    TAutoDriver<_ApplicationSecurityManager>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationSecurityManager));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationSecurityManager);
  }


};
typedef _ApplicationSecurityManagerDispT<_ApplicationSecurityManager> _ApplicationSecurityManagerDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationTrust
// Interface: _ApplicationTrust
// *********************************************************************//
template <class T /* _ApplicationTrust */ >
class TCOM_ApplicationTrustT : public TComInterface<_ApplicationTrust>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationTrustT() {}
  TCOM_ApplicationTrustT(_ApplicationTrust *intf, bool addRef = false) : TComInterface<_ApplicationTrust>(intf, addRef) {}
  TCOM_ApplicationTrustT(const TCOM_ApplicationTrustT& src) : TComInterface<_ApplicationTrust>(src) {}
  TCOM_ApplicationTrustT& operator=(const TCOM_ApplicationTrustT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationTrustT<_ApplicationTrust> TCOM_ApplicationTrust;

// *********************************************************************//
// DispIntf:  _ApplicationTrust
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E66A9755-58E2-3FCB-A265-835851CBF063}
// *********************************************************************//
template<class T>
class _ApplicationTrustDispT : public TAutoDriver<_ApplicationTrust>
{
public:
  _ApplicationTrustDispT(){}

  _ApplicationTrustDispT(_ApplicationTrust *pintf)
  {
    TAutoDriver<_ApplicationTrust>::Bind(pintf, false);
  }

  _ApplicationTrustDispT(_ApplicationTrustPtr pintf)
  {
    TAutoDriver<_ApplicationTrust>::Bind(pintf, true);
  }

  _ApplicationTrustDispT& operator=(_ApplicationTrust *pintf)
  {
    TAutoDriver<_ApplicationTrust>::Bind(pintf, false);
    return *this;
  }

  _ApplicationTrustDispT& operator=(_ApplicationTrustPtr pintf)
  {
    TAutoDriver<_ApplicationTrust>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationTrust));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationTrust);
  }


};
typedef _ApplicationTrustDispT<_ApplicationTrust> _ApplicationTrustDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationTrustCollection
// Interface: _ApplicationTrustCollection
// *********************************************************************//
template <class T /* _ApplicationTrustCollection */ >
class TCOM_ApplicationTrustCollectionT : public TComInterface<_ApplicationTrustCollection>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationTrustCollectionT() {}
  TCOM_ApplicationTrustCollectionT(_ApplicationTrustCollection *intf, bool addRef = false) : TComInterface<_ApplicationTrustCollection>(intf, addRef) {}
  TCOM_ApplicationTrustCollectionT(const TCOM_ApplicationTrustCollectionT& src) : TComInterface<_ApplicationTrustCollection>(src) {}
  TCOM_ApplicationTrustCollectionT& operator=(const TCOM_ApplicationTrustCollectionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationTrustCollectionT<_ApplicationTrustCollection> TCOM_ApplicationTrustCollection;

// *********************************************************************//
// DispIntf:  _ApplicationTrustCollection
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BB03C920-1C05-3ECB-982D-53324D5AC9FF}
// *********************************************************************//
template<class T>
class _ApplicationTrustCollectionDispT : public TAutoDriver<_ApplicationTrustCollection>
{
public:
  _ApplicationTrustCollectionDispT(){}

  _ApplicationTrustCollectionDispT(_ApplicationTrustCollection *pintf)
  {
    TAutoDriver<_ApplicationTrustCollection>::Bind(pintf, false);
  }

  _ApplicationTrustCollectionDispT(_ApplicationTrustCollectionPtr pintf)
  {
    TAutoDriver<_ApplicationTrustCollection>::Bind(pintf, true);
  }

  _ApplicationTrustCollectionDispT& operator=(_ApplicationTrustCollection *pintf)
  {
    TAutoDriver<_ApplicationTrustCollection>::Bind(pintf, false);
    return *this;
  }

  _ApplicationTrustCollectionDispT& operator=(_ApplicationTrustCollectionPtr pintf)
  {
    TAutoDriver<_ApplicationTrustCollection>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationTrustCollection));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationTrustCollection);
  }


};
typedef _ApplicationTrustCollectionDispT<_ApplicationTrustCollection> _ApplicationTrustCollectionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ApplicationTrustEnumerator
// Interface: _ApplicationTrustEnumerator
// *********************************************************************//
template <class T /* _ApplicationTrustEnumerator */ >
class TCOM_ApplicationTrustEnumeratorT : public TComInterface<_ApplicationTrustEnumerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ApplicationTrustEnumeratorT() {}
  TCOM_ApplicationTrustEnumeratorT(_ApplicationTrustEnumerator *intf, bool addRef = false) : TComInterface<_ApplicationTrustEnumerator>(intf, addRef) {}
  TCOM_ApplicationTrustEnumeratorT(const TCOM_ApplicationTrustEnumeratorT& src) : TComInterface<_ApplicationTrustEnumerator>(src) {}
  TCOM_ApplicationTrustEnumeratorT& operator=(const TCOM_ApplicationTrustEnumeratorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ApplicationTrustEnumeratorT<_ApplicationTrustEnumerator> TCOM_ApplicationTrustEnumerator;

// *********************************************************************//
// DispIntf:  _ApplicationTrustEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {01AFD447-60CA-3B67-803A-E57B727F3A5B}
// *********************************************************************//
template<class T>
class _ApplicationTrustEnumeratorDispT : public TAutoDriver<_ApplicationTrustEnumerator>
{
public:
  _ApplicationTrustEnumeratorDispT(){}

  _ApplicationTrustEnumeratorDispT(_ApplicationTrustEnumerator *pintf)
  {
    TAutoDriver<_ApplicationTrustEnumerator>::Bind(pintf, false);
  }

  _ApplicationTrustEnumeratorDispT(_ApplicationTrustEnumeratorPtr pintf)
  {
    TAutoDriver<_ApplicationTrustEnumerator>::Bind(pintf, true);
  }

  _ApplicationTrustEnumeratorDispT& operator=(_ApplicationTrustEnumerator *pintf)
  {
    TAutoDriver<_ApplicationTrustEnumerator>::Bind(pintf, false);
    return *this;
  }

  _ApplicationTrustEnumeratorDispT& operator=(_ApplicationTrustEnumeratorPtr pintf)
  {
    TAutoDriver<_ApplicationTrustEnumerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ApplicationTrustEnumerator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ApplicationTrustEnumerator);
  }


};
typedef _ApplicationTrustEnumeratorDispT<_ApplicationTrustEnumerator> _ApplicationTrustEnumeratorDisp;

// *********************************************************************//
// SmartIntf: TCOM_CodeGroup
// Interface: _CodeGroup
// *********************************************************************//
template <class T /* _CodeGroup */ >
class TCOM_CodeGroupT : public TComInterface<_CodeGroup>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CodeGroupT() {}
  TCOM_CodeGroupT(_CodeGroup *intf, bool addRef = false) : TComInterface<_CodeGroup>(intf, addRef) {}
  TCOM_CodeGroupT(const TCOM_CodeGroupT& src) : TComInterface<_CodeGroup>(src) {}
  TCOM_CodeGroupT& operator=(const TCOM_CodeGroupT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CodeGroupT<_CodeGroup> TCOM_CodeGroup;

// *********************************************************************//
// DispIntf:  _CodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D7093F61-ED6B-343F-B1E9-02472FCC710E}
// *********************************************************************//
template<class T>
class _CodeGroupDispT : public TAutoDriver<_CodeGroup>
{
public:
  _CodeGroupDispT(){}

  _CodeGroupDispT(_CodeGroup *pintf)
  {
    TAutoDriver<_CodeGroup>::Bind(pintf, false);
  }

  _CodeGroupDispT(_CodeGroupPtr pintf)
  {
    TAutoDriver<_CodeGroup>::Bind(pintf, true);
  }

  _CodeGroupDispT& operator=(_CodeGroup *pintf)
  {
    TAutoDriver<_CodeGroup>::Bind(pintf, false);
    return *this;
  }

  _CodeGroupDispT& operator=(_CodeGroupPtr pintf)
  {
    TAutoDriver<_CodeGroup>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CodeGroup));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CodeGroup);
  }


};
typedef _CodeGroupDispT<_CodeGroup> _CodeGroupDisp;

// *********************************************************************//
// SmartIntf: TCOM_Evidence
// Interface: _Evidence
// *********************************************************************//
template <class T /* _Evidence */ >
class TCOM_EvidenceT : public TComInterface<_Evidence>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EvidenceT() {}
  TCOM_EvidenceT(_Evidence *intf, bool addRef = false) : TComInterface<_Evidence>(intf, addRef) {}
  TCOM_EvidenceT(const TCOM_EvidenceT& src) : TComInterface<_Evidence>(src) {}
  TCOM_EvidenceT& operator=(const TCOM_EvidenceT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EvidenceT<_Evidence> TCOM_Evidence;

// *********************************************************************//
// DispIntf:  _Evidence
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A505EDBC-380E-3B23-9E1A-0974D4EF02EF}
// *********************************************************************//
template<class T>
class _EvidenceDispT : public TAutoDriver<_Evidence>
{
public:
  _EvidenceDispT(){}

  _EvidenceDispT(_Evidence *pintf)
  {
    TAutoDriver<_Evidence>::Bind(pintf, false);
  }

  _EvidenceDispT(_EvidencePtr pintf)
  {
    TAutoDriver<_Evidence>::Bind(pintf, true);
  }

  _EvidenceDispT& operator=(_Evidence *pintf)
  {
    TAutoDriver<_Evidence>::Bind(pintf, false);
    return *this;
  }

  _EvidenceDispT& operator=(_EvidencePtr pintf)
  {
    TAutoDriver<_Evidence>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Evidence));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Evidence);
  }


};
typedef _EvidenceDispT<_Evidence> _EvidenceDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileCodeGroup
// Interface: _FileCodeGroup
// *********************************************************************//
template <class T /* _FileCodeGroup */ >
class TCOM_FileCodeGroupT : public TComInterface<_FileCodeGroup>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileCodeGroupT() {}
  TCOM_FileCodeGroupT(_FileCodeGroup *intf, bool addRef = false) : TComInterface<_FileCodeGroup>(intf, addRef) {}
  TCOM_FileCodeGroupT(const TCOM_FileCodeGroupT& src) : TComInterface<_FileCodeGroup>(src) {}
  TCOM_FileCodeGroupT& operator=(const TCOM_FileCodeGroupT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileCodeGroupT<_FileCodeGroup> TCOM_FileCodeGroup;

// *********************************************************************//
// DispIntf:  _FileCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DFAD74DC-8390-32F6-9612-1BD293B233F4}
// *********************************************************************//
template<class T>
class _FileCodeGroupDispT : public TAutoDriver<_FileCodeGroup>
{
public:
  _FileCodeGroupDispT(){}

  _FileCodeGroupDispT(_FileCodeGroup *pintf)
  {
    TAutoDriver<_FileCodeGroup>::Bind(pintf, false);
  }

  _FileCodeGroupDispT(_FileCodeGroupPtr pintf)
  {
    TAutoDriver<_FileCodeGroup>::Bind(pintf, true);
  }

  _FileCodeGroupDispT& operator=(_FileCodeGroup *pintf)
  {
    TAutoDriver<_FileCodeGroup>::Bind(pintf, false);
    return *this;
  }

  _FileCodeGroupDispT& operator=(_FileCodeGroupPtr pintf)
  {
    TAutoDriver<_FileCodeGroup>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileCodeGroup));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileCodeGroup);
  }


};
typedef _FileCodeGroupDispT<_FileCodeGroup> _FileCodeGroupDisp;

// *********************************************************************//
// SmartIntf: TCOM_FirstMatchCodeGroup
// Interface: _FirstMatchCodeGroup
// *********************************************************************//
template <class T /* _FirstMatchCodeGroup */ >
class TCOM_FirstMatchCodeGroupT : public TComInterface<_FirstMatchCodeGroup>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FirstMatchCodeGroupT() {}
  TCOM_FirstMatchCodeGroupT(_FirstMatchCodeGroup *intf, bool addRef = false) : TComInterface<_FirstMatchCodeGroup>(intf, addRef) {}
  TCOM_FirstMatchCodeGroupT(const TCOM_FirstMatchCodeGroupT& src) : TComInterface<_FirstMatchCodeGroup>(src) {}
  TCOM_FirstMatchCodeGroupT& operator=(const TCOM_FirstMatchCodeGroupT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FirstMatchCodeGroupT<_FirstMatchCodeGroup> TCOM_FirstMatchCodeGroup;

// *********************************************************************//
// DispIntf:  _FirstMatchCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {54B0AFB1-E7D3-3770-BB0E-75A95E8D2656}
// *********************************************************************//
template<class T>
class _FirstMatchCodeGroupDispT : public TAutoDriver<_FirstMatchCodeGroup>
{
public:
  _FirstMatchCodeGroupDispT(){}

  _FirstMatchCodeGroupDispT(_FirstMatchCodeGroup *pintf)
  {
    TAutoDriver<_FirstMatchCodeGroup>::Bind(pintf, false);
  }

  _FirstMatchCodeGroupDispT(_FirstMatchCodeGroupPtr pintf)
  {
    TAutoDriver<_FirstMatchCodeGroup>::Bind(pintf, true);
  }

  _FirstMatchCodeGroupDispT& operator=(_FirstMatchCodeGroup *pintf)
  {
    TAutoDriver<_FirstMatchCodeGroup>::Bind(pintf, false);
    return *this;
  }

  _FirstMatchCodeGroupDispT& operator=(_FirstMatchCodeGroupPtr pintf)
  {
    TAutoDriver<_FirstMatchCodeGroup>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FirstMatchCodeGroup));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FirstMatchCodeGroup);
  }


};
typedef _FirstMatchCodeGroupDispT<_FirstMatchCodeGroup> _FirstMatchCodeGroupDisp;

typedef TComInterface<IIdentityPermissionFactory>  TCOMIIdentityPermissionFactory;

// *********************************************************************//
// DispIntf:  IIdentityPermissionFactory
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4E95244E-C6FC-3A86-8DB7-1712454DE3B6}
// *********************************************************************//
template<class T>
class IIdentityPermissionFactoryDispT : public TAutoDriver<IIdentityPermissionFactory>
{
public:
  IIdentityPermissionFactoryDispT(){}

  IIdentityPermissionFactoryDispT(IIdentityPermissionFactory *pintf)
  {
    TAutoDriver<IIdentityPermissionFactory>::Bind(pintf, false);
  }

  IIdentityPermissionFactoryDispT(IIdentityPermissionFactoryPtr pintf)
  {
    TAutoDriver<IIdentityPermissionFactory>::Bind(pintf, true);
  }

  IIdentityPermissionFactoryDispT& operator=(IIdentityPermissionFactory *pintf)
  {
    TAutoDriver<IIdentityPermissionFactory>::Bind(pintf, false);
    return *this;
  }

  IIdentityPermissionFactoryDispT& operator=(IIdentityPermissionFactoryPtr pintf)
  {
    TAutoDriver<IIdentityPermissionFactory>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall CreateIdentityPermission(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                                      Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IPermissionPtr __fastcall CreateIdentityPermission(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/);

};
typedef IIdentityPermissionFactoryDispT<IIdentityPermissionFactory> IIdentityPermissionFactoryDisp;

typedef TComInterface<IApplicationTrustManager>  TCOMIApplicationTrustManager;

// *********************************************************************//
// DispIntf:  IApplicationTrustManager
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {427E255D-AF02-3B0D-8CE3-A2BB94BA300F}
// *********************************************************************//
template<class T>
class IApplicationTrustManagerDispT : public TAutoDriver<IApplicationTrustManager>
{
public:
  IApplicationTrustManagerDispT(){}

  IApplicationTrustManagerDispT(IApplicationTrustManager *pintf)
  {
    TAutoDriver<IApplicationTrustManager>::Bind(pintf, false);
  }

  IApplicationTrustManagerDispT(IApplicationTrustManagerPtr pintf)
  {
    TAutoDriver<IApplicationTrustManager>::Bind(pintf, true);
  }

  IApplicationTrustManagerDispT& operator=(IApplicationTrustManager *pintf)
  {
    TAutoDriver<IApplicationTrustManager>::Bind(pintf, false);
    return *this;
  }

  IApplicationTrustManagerDispT& operator=(IApplicationTrustManagerPtr pintf)
  {
    TAutoDriver<IApplicationTrustManager>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall DetermineApplicationTrust(LPUNKNOWN activationContext/*[in]*/, 
                                                       Mscorlib_tlb::_TrustManagerContextPtr Context/*[in]*/
                                                       , 
                                                       Mscorlib_tlb::_ApplicationTrustPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ApplicationTrustPtr __fastcall DetermineApplicationTrust(LPUNKNOWN activationContext/*[in]*/, 
                                                                          Mscorlib_tlb::_TrustManagerContextPtr Context/*[in]*/);

};
typedef IApplicationTrustManagerDispT<IApplicationTrustManager> IApplicationTrustManagerDisp;

// *********************************************************************//
// SmartIntf: TCOM_TrustManagerContext
// Interface: _TrustManagerContext
// *********************************************************************//
template <class T /* _TrustManagerContext */ >
class TCOM_TrustManagerContextT : public TComInterface<_TrustManagerContext>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TrustManagerContextT() {}
  TCOM_TrustManagerContextT(_TrustManagerContext *intf, bool addRef = false) : TComInterface<_TrustManagerContext>(intf, addRef) {}
  TCOM_TrustManagerContextT(const TCOM_TrustManagerContextT& src) : TComInterface<_TrustManagerContext>(src) {}
  TCOM_TrustManagerContextT& operator=(const TCOM_TrustManagerContextT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TrustManagerContextT<_TrustManagerContext> TCOM_TrustManagerContext;

// *********************************************************************//
// DispIntf:  _TrustManagerContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D89EAC5E-0331-3FCD-9C16-4F1ED3FE1BE2}
// *********************************************************************//
template<class T>
class _TrustManagerContextDispT : public TAutoDriver<_TrustManagerContext>
{
public:
  _TrustManagerContextDispT(){}

  _TrustManagerContextDispT(_TrustManagerContext *pintf)
  {
    TAutoDriver<_TrustManagerContext>::Bind(pintf, false);
  }

  _TrustManagerContextDispT(_TrustManagerContextPtr pintf)
  {
    TAutoDriver<_TrustManagerContext>::Bind(pintf, true);
  }

  _TrustManagerContextDispT& operator=(_TrustManagerContext *pintf)
  {
    TAutoDriver<_TrustManagerContext>::Bind(pintf, false);
    return *this;
  }

  _TrustManagerContextDispT& operator=(_TrustManagerContextPtr pintf)
  {
    TAutoDriver<_TrustManagerContext>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TrustManagerContext));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TrustManagerContext);
  }


};
typedef _TrustManagerContextDispT<_TrustManagerContext> _TrustManagerContextDisp;

// *********************************************************************//
// SmartIntf: TCOM_CodeConnectAccess
// Interface: _CodeConnectAccess
// *********************************************************************//
template <class T /* _CodeConnectAccess */ >
class TCOM_CodeConnectAccessT : public TComInterface<_CodeConnectAccess>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CodeConnectAccessT() {}
  TCOM_CodeConnectAccessT(_CodeConnectAccess *intf, bool addRef = false) : TComInterface<_CodeConnectAccess>(intf, addRef) {}
  TCOM_CodeConnectAccessT(const TCOM_CodeConnectAccessT& src) : TComInterface<_CodeConnectAccess>(src) {}
  TCOM_CodeConnectAccessT& operator=(const TCOM_CodeConnectAccessT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CodeConnectAccessT<_CodeConnectAccess> TCOM_CodeConnectAccess;

// *********************************************************************//
// DispIntf:  _CodeConnectAccess
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FE8A2546-3478-3FAD-BE1D-DA7BC25C4E4E}
// *********************************************************************//
template<class T>
class _CodeConnectAccessDispT : public TAutoDriver<_CodeConnectAccess>
{
public:
  _CodeConnectAccessDispT(){}

  _CodeConnectAccessDispT(_CodeConnectAccess *pintf)
  {
    TAutoDriver<_CodeConnectAccess>::Bind(pintf, false);
  }

  _CodeConnectAccessDispT(_CodeConnectAccessPtr pintf)
  {
    TAutoDriver<_CodeConnectAccess>::Bind(pintf, true);
  }

  _CodeConnectAccessDispT& operator=(_CodeConnectAccess *pintf)
  {
    TAutoDriver<_CodeConnectAccess>::Bind(pintf, false);
    return *this;
  }

  _CodeConnectAccessDispT& operator=(_CodeConnectAccessPtr pintf)
  {
    TAutoDriver<_CodeConnectAccess>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CodeConnectAccess));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CodeConnectAccess);
  }


};
typedef _CodeConnectAccessDispT<_CodeConnectAccess> _CodeConnectAccessDisp;

// *********************************************************************//
// SmartIntf: TCOM_NetCodeGroup
// Interface: _NetCodeGroup
// *********************************************************************//
template <class T /* _NetCodeGroup */ >
class TCOM_NetCodeGroupT : public TComInterface<_NetCodeGroup>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NetCodeGroupT() {}
  TCOM_NetCodeGroupT(_NetCodeGroup *intf, bool addRef = false) : TComInterface<_NetCodeGroup>(intf, addRef) {}
  TCOM_NetCodeGroupT(const TCOM_NetCodeGroupT& src) : TComInterface<_NetCodeGroup>(src) {}
  TCOM_NetCodeGroupT& operator=(const TCOM_NetCodeGroupT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NetCodeGroupT<_NetCodeGroup> TCOM_NetCodeGroup;

// *********************************************************************//
// DispIntf:  _NetCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A8F69ECA-8C48-3B5E-92A1-654925058059}
// *********************************************************************//
template<class T>
class _NetCodeGroupDispT : public TAutoDriver<_NetCodeGroup>
{
public:
  _NetCodeGroupDispT(){}

  _NetCodeGroupDispT(_NetCodeGroup *pintf)
  {
    TAutoDriver<_NetCodeGroup>::Bind(pintf, false);
  }

  _NetCodeGroupDispT(_NetCodeGroupPtr pintf)
  {
    TAutoDriver<_NetCodeGroup>::Bind(pintf, true);
  }

  _NetCodeGroupDispT& operator=(_NetCodeGroup *pintf)
  {
    TAutoDriver<_NetCodeGroup>::Bind(pintf, false);
    return *this;
  }

  _NetCodeGroupDispT& operator=(_NetCodeGroupPtr pintf)
  {
    TAutoDriver<_NetCodeGroup>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NetCodeGroup));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NetCodeGroup);
  }


};
typedef _NetCodeGroupDispT<_NetCodeGroup> _NetCodeGroupDisp;

// *********************************************************************//
// SmartIntf: TCOM_PermissionRequestEvidence
// Interface: _PermissionRequestEvidence
// *********************************************************************//
template <class T /* _PermissionRequestEvidence */ >
class TCOM_PermissionRequestEvidenceT : public TComInterface<_PermissionRequestEvidence>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PermissionRequestEvidenceT() {}
  TCOM_PermissionRequestEvidenceT(_PermissionRequestEvidence *intf, bool addRef = false) : TComInterface<_PermissionRequestEvidence>(intf, addRef) {}
  TCOM_PermissionRequestEvidenceT(const TCOM_PermissionRequestEvidenceT& src) : TComInterface<_PermissionRequestEvidence>(src) {}
  TCOM_PermissionRequestEvidenceT& operator=(const TCOM_PermissionRequestEvidenceT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PermissionRequestEvidenceT<_PermissionRequestEvidence> TCOM_PermissionRequestEvidence;

// *********************************************************************//
// DispIntf:  _PermissionRequestEvidence
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {34B0417E-E71D-304C-9FAC-689350A1B41C}
// *********************************************************************//
template<class T>
class _PermissionRequestEvidenceDispT : public TAutoDriver<_PermissionRequestEvidence>
{
public:
  _PermissionRequestEvidenceDispT(){}

  _PermissionRequestEvidenceDispT(_PermissionRequestEvidence *pintf)
  {
    TAutoDriver<_PermissionRequestEvidence>::Bind(pintf, false);
  }

  _PermissionRequestEvidenceDispT(_PermissionRequestEvidencePtr pintf)
  {
    TAutoDriver<_PermissionRequestEvidence>::Bind(pintf, true);
  }

  _PermissionRequestEvidenceDispT& operator=(_PermissionRequestEvidence *pintf)
  {
    TAutoDriver<_PermissionRequestEvidence>::Bind(pintf, false);
    return *this;
  }

  _PermissionRequestEvidenceDispT& operator=(_PermissionRequestEvidencePtr pintf)
  {
    TAutoDriver<_PermissionRequestEvidence>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PermissionRequestEvidence));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PermissionRequestEvidence);
  }


};
typedef _PermissionRequestEvidenceDispT<_PermissionRequestEvidence> _PermissionRequestEvidenceDisp;

// *********************************************************************//
// SmartIntf: TCOM_PolicyException
// Interface: _PolicyException
// *********************************************************************//
template <class T /* _PolicyException */ >
class TCOM_PolicyExceptionT : public TComInterface<_PolicyException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PolicyExceptionT() {}
  TCOM_PolicyExceptionT(_PolicyException *intf, bool addRef = false) : TComInterface<_PolicyException>(intf, addRef) {}
  TCOM_PolicyExceptionT(const TCOM_PolicyExceptionT& src) : TComInterface<_PolicyException>(src) {}
  TCOM_PolicyExceptionT& operator=(const TCOM_PolicyExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PolicyExceptionT<_PolicyException> TCOM_PolicyException;

// *********************************************************************//
// DispIntf:  _PolicyException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9C9F3D9-E153-39B8-A533-B8DF4664407B}
// *********************************************************************//
template<class T>
class _PolicyExceptionDispT : public TAutoDriver<_PolicyException>
{
public:
  _PolicyExceptionDispT(){}

  _PolicyExceptionDispT(_PolicyException *pintf)
  {
    TAutoDriver<_PolicyException>::Bind(pintf, false);
  }

  _PolicyExceptionDispT(_PolicyExceptionPtr pintf)
  {
    TAutoDriver<_PolicyException>::Bind(pintf, true);
  }

  _PolicyExceptionDispT& operator=(_PolicyException *pintf)
  {
    TAutoDriver<_PolicyException>::Bind(pintf, false);
    return *this;
  }

  _PolicyExceptionDispT& operator=(_PolicyExceptionPtr pintf)
  {
    TAutoDriver<_PolicyException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PolicyException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PolicyException);
  }


};
typedef _PolicyExceptionDispT<_PolicyException> _PolicyExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_PolicyLevel
// Interface: _PolicyLevel
// *********************************************************************//
template <class T /* _PolicyLevel */ >
class TCOM_PolicyLevelT : public TComInterface<_PolicyLevel>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PolicyLevelT() {}
  TCOM_PolicyLevelT(_PolicyLevel *intf, bool addRef = false) : TComInterface<_PolicyLevel>(intf, addRef) {}
  TCOM_PolicyLevelT(const TCOM_PolicyLevelT& src) : TComInterface<_PolicyLevel>(src) {}
  TCOM_PolicyLevelT& operator=(const TCOM_PolicyLevelT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PolicyLevelT<_PolicyLevel> TCOM_PolicyLevel;

// *********************************************************************//
// DispIntf:  _PolicyLevel
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {44494E35-C370-3014-BC78-0F2ECBF83F53}
// *********************************************************************//
template<class T>
class _PolicyLevelDispT : public TAutoDriver<_PolicyLevel>
{
public:
  _PolicyLevelDispT(){}

  _PolicyLevelDispT(_PolicyLevel *pintf)
  {
    TAutoDriver<_PolicyLevel>::Bind(pintf, false);
  }

  _PolicyLevelDispT(_PolicyLevelPtr pintf)
  {
    TAutoDriver<_PolicyLevel>::Bind(pintf, true);
  }

  _PolicyLevelDispT& operator=(_PolicyLevel *pintf)
  {
    TAutoDriver<_PolicyLevel>::Bind(pintf, false);
    return *this;
  }

  _PolicyLevelDispT& operator=(_PolicyLevelPtr pintf)
  {
    TAutoDriver<_PolicyLevel>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PolicyLevel));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PolicyLevel);
  }


};
typedef _PolicyLevelDispT<_PolicyLevel> _PolicyLevelDisp;

// *********************************************************************//
// SmartIntf: TCOM_PolicyStatement
// Interface: _PolicyStatement
// *********************************************************************//
template <class T /* _PolicyStatement */ >
class TCOM_PolicyStatementT : public TComInterface<_PolicyStatement>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PolicyStatementT() {}
  TCOM_PolicyStatementT(_PolicyStatement *intf, bool addRef = false) : TComInterface<_PolicyStatement>(intf, addRef) {}
  TCOM_PolicyStatementT(const TCOM_PolicyStatementT& src) : TComInterface<_PolicyStatement>(src) {}
  TCOM_PolicyStatementT& operator=(const TCOM_PolicyStatementT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PolicyStatementT<_PolicyStatement> TCOM_PolicyStatement;

// *********************************************************************//
// DispIntf:  _PolicyStatement
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3EEFD1FC-4D8D-3177-99F6-6C19D9E088D3}
// *********************************************************************//
template<class T>
class _PolicyStatementDispT : public TAutoDriver<_PolicyStatement>
{
public:
  _PolicyStatementDispT(){}

  _PolicyStatementDispT(_PolicyStatement *pintf)
  {
    TAutoDriver<_PolicyStatement>::Bind(pintf, false);
  }

  _PolicyStatementDispT(_PolicyStatementPtr pintf)
  {
    TAutoDriver<_PolicyStatement>::Bind(pintf, true);
  }

  _PolicyStatementDispT& operator=(_PolicyStatement *pintf)
  {
    TAutoDriver<_PolicyStatement>::Bind(pintf, false);
    return *this;
  }

  _PolicyStatementDispT& operator=(_PolicyStatementPtr pintf)
  {
    TAutoDriver<_PolicyStatement>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PolicyStatement));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PolicyStatement);
  }


};
typedef _PolicyStatementDispT<_PolicyStatement> _PolicyStatementDisp;

// *********************************************************************//
// SmartIntf: TCOM_Site
// Interface: _Site
// *********************************************************************//
template <class T /* _Site */ >
class TCOM_SiteT : public TComInterface<_Site>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SiteT() {}
  TCOM_SiteT(_Site *intf, bool addRef = false) : TComInterface<_Site>(intf, addRef) {}
  TCOM_SiteT(const TCOM_SiteT& src) : TComInterface<_Site>(src) {}
  TCOM_SiteT& operator=(const TCOM_SiteT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SiteT<_Site> TCOM_Site;

// *********************************************************************//
// DispIntf:  _Site
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {90C40B4C-B0D0-30F5-B520-FDBA97BC31A0}
// *********************************************************************//
template<class T>
class _SiteDispT : public TAutoDriver<_Site>
{
public:
  _SiteDispT(){}

  _SiteDispT(_Site *pintf)
  {
    TAutoDriver<_Site>::Bind(pintf, false);
  }

  _SiteDispT(_SitePtr pintf)
  {
    TAutoDriver<_Site>::Bind(pintf, true);
  }

  _SiteDispT& operator=(_Site *pintf)
  {
    TAutoDriver<_Site>::Bind(pintf, false);
    return *this;
  }

  _SiteDispT& operator=(_SitePtr pintf)
  {
    TAutoDriver<_Site>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Site));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Site);
  }


};
typedef _SiteDispT<_Site> _SiteDisp;

// *********************************************************************//
// SmartIntf: TCOM_SiteMembershipCondition
// Interface: _SiteMembershipCondition
// *********************************************************************//
template <class T /* _SiteMembershipCondition */ >
class TCOM_SiteMembershipConditionT : public TComInterface<_SiteMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SiteMembershipConditionT() {}
  TCOM_SiteMembershipConditionT(_SiteMembershipCondition *intf, bool addRef = false) : TComInterface<_SiteMembershipCondition>(intf, addRef) {}
  TCOM_SiteMembershipConditionT(const TCOM_SiteMembershipConditionT& src) : TComInterface<_SiteMembershipCondition>(src) {}
  TCOM_SiteMembershipConditionT& operator=(const TCOM_SiteMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SiteMembershipConditionT<_SiteMembershipCondition> TCOM_SiteMembershipCondition;

// *********************************************************************//
// DispIntf:  _SiteMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0A7C3542-8031-3593-872C-78D85D7CC273}
// *********************************************************************//
template<class T>
class _SiteMembershipConditionDispT : public TAutoDriver<_SiteMembershipCondition>
{
public:
  _SiteMembershipConditionDispT(){}

  _SiteMembershipConditionDispT(_SiteMembershipCondition *pintf)
  {
    TAutoDriver<_SiteMembershipCondition>::Bind(pintf, false);
  }

  _SiteMembershipConditionDispT(_SiteMembershipConditionPtr pintf)
  {
    TAutoDriver<_SiteMembershipCondition>::Bind(pintf, true);
  }

  _SiteMembershipConditionDispT& operator=(_SiteMembershipCondition *pintf)
  {
    TAutoDriver<_SiteMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _SiteMembershipConditionDispT& operator=(_SiteMembershipConditionPtr pintf)
  {
    TAutoDriver<_SiteMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SiteMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SiteMembershipCondition);
  }


};
typedef _SiteMembershipConditionDispT<_SiteMembershipCondition> _SiteMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_StrongName
// Interface: _StrongName
// *********************************************************************//
template <class T /* _StrongName */ >
class TCOM_StrongNameT : public TComInterface<_StrongName>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StrongNameT() {}
  TCOM_StrongNameT(_StrongName *intf, bool addRef = false) : TComInterface<_StrongName>(intf, addRef) {}
  TCOM_StrongNameT(const TCOM_StrongNameT& src) : TComInterface<_StrongName>(src) {}
  TCOM_StrongNameT& operator=(const TCOM_StrongNameT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StrongNameT<_StrongName> TCOM_StrongName;

// *********************************************************************//
// DispIntf:  _StrongName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2A75C1FD-06B0-3CBB-B467-2545D4D6C865}
// *********************************************************************//
template<class T>
class _StrongNameDispT : public TAutoDriver<_StrongName>
{
public:
  _StrongNameDispT(){}

  _StrongNameDispT(_StrongName *pintf)
  {
    TAutoDriver<_StrongName>::Bind(pintf, false);
  }

  _StrongNameDispT(_StrongNamePtr pintf)
  {
    TAutoDriver<_StrongName>::Bind(pintf, true);
  }

  _StrongNameDispT& operator=(_StrongName *pintf)
  {
    TAutoDriver<_StrongName>::Bind(pintf, false);
    return *this;
  }

  _StrongNameDispT& operator=(_StrongNamePtr pintf)
  {
    TAutoDriver<_StrongName>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StrongName));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StrongName);
  }


};
typedef _StrongNameDispT<_StrongName> _StrongNameDisp;

// *********************************************************************//
// SmartIntf: TCOM_StrongNameMembershipCondition
// Interface: _StrongNameMembershipCondition
// *********************************************************************//
template <class T /* _StrongNameMembershipCondition */ >
class TCOM_StrongNameMembershipConditionT : public TComInterface<_StrongNameMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StrongNameMembershipConditionT() {}
  TCOM_StrongNameMembershipConditionT(_StrongNameMembershipCondition *intf, bool addRef = false) : TComInterface<_StrongNameMembershipCondition>(intf, addRef) {}
  TCOM_StrongNameMembershipConditionT(const TCOM_StrongNameMembershipConditionT& src) : TComInterface<_StrongNameMembershipCondition>(src) {}
  TCOM_StrongNameMembershipConditionT& operator=(const TCOM_StrongNameMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StrongNameMembershipConditionT<_StrongNameMembershipCondition> TCOM_StrongNameMembershipCondition;

// *********************************************************************//
// DispIntf:  _StrongNameMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {579E93BC-FFAB-3B8D-9181-CE9C22B51915}
// *********************************************************************//
template<class T>
class _StrongNameMembershipConditionDispT : public TAutoDriver<_StrongNameMembershipCondition>
{
public:
  _StrongNameMembershipConditionDispT(){}

  _StrongNameMembershipConditionDispT(_StrongNameMembershipCondition *pintf)
  {
    TAutoDriver<_StrongNameMembershipCondition>::Bind(pintf, false);
  }

  _StrongNameMembershipConditionDispT(_StrongNameMembershipConditionPtr pintf)
  {
    TAutoDriver<_StrongNameMembershipCondition>::Bind(pintf, true);
  }

  _StrongNameMembershipConditionDispT& operator=(_StrongNameMembershipCondition *pintf)
  {
    TAutoDriver<_StrongNameMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _StrongNameMembershipConditionDispT& operator=(_StrongNameMembershipConditionPtr pintf)
  {
    TAutoDriver<_StrongNameMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StrongNameMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StrongNameMembershipCondition);
  }


};
typedef _StrongNameMembershipConditionDispT<_StrongNameMembershipCondition> _StrongNameMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnionCodeGroup
// Interface: _UnionCodeGroup
// *********************************************************************//
template <class T /* _UnionCodeGroup */ >
class TCOM_UnionCodeGroupT : public TComInterface<_UnionCodeGroup>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnionCodeGroupT() {}
  TCOM_UnionCodeGroupT(_UnionCodeGroup *intf, bool addRef = false) : TComInterface<_UnionCodeGroup>(intf, addRef) {}
  TCOM_UnionCodeGroupT(const TCOM_UnionCodeGroupT& src) : TComInterface<_UnionCodeGroup>(src) {}
  TCOM_UnionCodeGroupT& operator=(const TCOM_UnionCodeGroupT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnionCodeGroupT<_UnionCodeGroup> TCOM_UnionCodeGroup;

// *********************************************************************//
// DispIntf:  _UnionCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9D822DE-44E5-33CE-A43F-173E475CECB1}
// *********************************************************************//
template<class T>
class _UnionCodeGroupDispT : public TAutoDriver<_UnionCodeGroup>
{
public:
  _UnionCodeGroupDispT(){}

  _UnionCodeGroupDispT(_UnionCodeGroup *pintf)
  {
    TAutoDriver<_UnionCodeGroup>::Bind(pintf, false);
  }

  _UnionCodeGroupDispT(_UnionCodeGroupPtr pintf)
  {
    TAutoDriver<_UnionCodeGroup>::Bind(pintf, true);
  }

  _UnionCodeGroupDispT& operator=(_UnionCodeGroup *pintf)
  {
    TAutoDriver<_UnionCodeGroup>::Bind(pintf, false);
    return *this;
  }

  _UnionCodeGroupDispT& operator=(_UnionCodeGroupPtr pintf)
  {
    TAutoDriver<_UnionCodeGroup>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnionCodeGroup));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnionCodeGroup);
  }


};
typedef _UnionCodeGroupDispT<_UnionCodeGroup> _UnionCodeGroupDisp;

// *********************************************************************//
// SmartIntf: TCOM_Url
// Interface: _Url
// *********************************************************************//
template <class T /* _Url */ >
class TCOM_UrlT : public TComInterface<_Url>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UrlT() {}
  TCOM_UrlT(_Url *intf, bool addRef = false) : TComInterface<_Url>(intf, addRef) {}
  TCOM_UrlT(const TCOM_UrlT& src) : TComInterface<_Url>(src) {}
  TCOM_UrlT& operator=(const TCOM_UrlT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UrlT<_Url> TCOM_Url;

// *********************************************************************//
// DispIntf:  _Url
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D94ED9BF-C065-3703-81A2-2F76EA8E312F}
// *********************************************************************//
template<class T>
class _UrlDispT : public TAutoDriver<_Url>
{
public:
  _UrlDispT(){}

  _UrlDispT(_Url *pintf)
  {
    TAutoDriver<_Url>::Bind(pintf, false);
  }

  _UrlDispT(_UrlPtr pintf)
  {
    TAutoDriver<_Url>::Bind(pintf, true);
  }

  _UrlDispT& operator=(_Url *pintf)
  {
    TAutoDriver<_Url>::Bind(pintf, false);
    return *this;
  }

  _UrlDispT& operator=(_UrlPtr pintf)
  {
    TAutoDriver<_Url>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Url));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Url);
  }


};
typedef _UrlDispT<_Url> _UrlDisp;

// *********************************************************************//
// SmartIntf: TCOM_UrlMembershipCondition
// Interface: _UrlMembershipCondition
// *********************************************************************//
template <class T /* _UrlMembershipCondition */ >
class TCOM_UrlMembershipConditionT : public TComInterface<_UrlMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UrlMembershipConditionT() {}
  TCOM_UrlMembershipConditionT(_UrlMembershipCondition *intf, bool addRef = false) : TComInterface<_UrlMembershipCondition>(intf, addRef) {}
  TCOM_UrlMembershipConditionT(const TCOM_UrlMembershipConditionT& src) : TComInterface<_UrlMembershipCondition>(src) {}
  TCOM_UrlMembershipConditionT& operator=(const TCOM_UrlMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UrlMembershipConditionT<_UrlMembershipCondition> TCOM_UrlMembershipCondition;

// *********************************************************************//
// DispIntf:  _UrlMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BB7A158D-DBD9-3E13-B137-8E61E87E1128}
// *********************************************************************//
template<class T>
class _UrlMembershipConditionDispT : public TAutoDriver<_UrlMembershipCondition>
{
public:
  _UrlMembershipConditionDispT(){}

  _UrlMembershipConditionDispT(_UrlMembershipCondition *pintf)
  {
    TAutoDriver<_UrlMembershipCondition>::Bind(pintf, false);
  }

  _UrlMembershipConditionDispT(_UrlMembershipConditionPtr pintf)
  {
    TAutoDriver<_UrlMembershipCondition>::Bind(pintf, true);
  }

  _UrlMembershipConditionDispT& operator=(_UrlMembershipCondition *pintf)
  {
    TAutoDriver<_UrlMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _UrlMembershipConditionDispT& operator=(_UrlMembershipConditionPtr pintf)
  {
    TAutoDriver<_UrlMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UrlMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UrlMembershipCondition);
  }


};
typedef _UrlMembershipConditionDispT<_UrlMembershipCondition> _UrlMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Zone
// Interface: _Zone
// *********************************************************************//
template <class T /* _Zone */ >
class TCOM_ZoneT : public TComInterface<_Zone>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ZoneT() {}
  TCOM_ZoneT(_Zone *intf, bool addRef = false) : TComInterface<_Zone>(intf, addRef) {}
  TCOM_ZoneT(const TCOM_ZoneT& src) : TComInterface<_Zone>(src) {}
  TCOM_ZoneT& operator=(const TCOM_ZoneT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ZoneT<_Zone> TCOM_Zone;

// *********************************************************************//
// DispIntf:  _Zone
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {742E0C26-0E23-3D20-968C-D221094909AA}
// *********************************************************************//
template<class T>
class _ZoneDispT : public TAutoDriver<_Zone>
{
public:
  _ZoneDispT(){}

  _ZoneDispT(_Zone *pintf)
  {
    TAutoDriver<_Zone>::Bind(pintf, false);
  }

  _ZoneDispT(_ZonePtr pintf)
  {
    TAutoDriver<_Zone>::Bind(pintf, true);
  }

  _ZoneDispT& operator=(_Zone *pintf)
  {
    TAutoDriver<_Zone>::Bind(pintf, false);
    return *this;
  }

  _ZoneDispT& operator=(_ZonePtr pintf)
  {
    TAutoDriver<_Zone>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Zone));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Zone);
  }


};
typedef _ZoneDispT<_Zone> _ZoneDisp;

// *********************************************************************//
// SmartIntf: TCOM_ZoneMembershipCondition
// Interface: _ZoneMembershipCondition
// *********************************************************************//
template <class T /* _ZoneMembershipCondition */ >
class TCOM_ZoneMembershipConditionT : public TComInterface<_ZoneMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ZoneMembershipConditionT() {}
  TCOM_ZoneMembershipConditionT(_ZoneMembershipCondition *intf, bool addRef = false) : TComInterface<_ZoneMembershipCondition>(intf, addRef) {}
  TCOM_ZoneMembershipConditionT(const TCOM_ZoneMembershipConditionT& src) : TComInterface<_ZoneMembershipCondition>(src) {}
  TCOM_ZoneMembershipConditionT& operator=(const TCOM_ZoneMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ZoneMembershipConditionT<_ZoneMembershipCondition> TCOM_ZoneMembershipCondition;

// *********************************************************************//
// DispIntf:  _ZoneMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ADBC3463-0101-3429-A06C-DB2F1DD6B724}
// *********************************************************************//
template<class T>
class _ZoneMembershipConditionDispT : public TAutoDriver<_ZoneMembershipCondition>
{
public:
  _ZoneMembershipConditionDispT(){}

  _ZoneMembershipConditionDispT(_ZoneMembershipCondition *pintf)
  {
    TAutoDriver<_ZoneMembershipCondition>::Bind(pintf, false);
  }

  _ZoneMembershipConditionDispT(_ZoneMembershipConditionPtr pintf)
  {
    TAutoDriver<_ZoneMembershipCondition>::Bind(pintf, true);
  }

  _ZoneMembershipConditionDispT& operator=(_ZoneMembershipCondition *pintf)
  {
    TAutoDriver<_ZoneMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _ZoneMembershipConditionDispT& operator=(_ZoneMembershipConditionPtr pintf)
  {
    TAutoDriver<_ZoneMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ZoneMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ZoneMembershipCondition);
  }


};
typedef _ZoneMembershipConditionDispT<_ZoneMembershipCondition> _ZoneMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_GacInstalled
// Interface: _GacInstalled
// *********************************************************************//
template <class T /* _GacInstalled */ >
class TCOM_GacInstalledT : public TComInterface<_GacInstalled>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GacInstalledT() {}
  TCOM_GacInstalledT(_GacInstalled *intf, bool addRef = false) : TComInterface<_GacInstalled>(intf, addRef) {}
  TCOM_GacInstalledT(const TCOM_GacInstalledT& src) : TComInterface<_GacInstalled>(src) {}
  TCOM_GacInstalledT& operator=(const TCOM_GacInstalledT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GacInstalledT<_GacInstalled> TCOM_GacInstalled;

// *********************************************************************//
// DispIntf:  _GacInstalled
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A7AEF52C-B47B-3660-BB3E-34347D56DB46}
// *********************************************************************//
template<class T>
class _GacInstalledDispT : public TAutoDriver<_GacInstalled>
{
public:
  _GacInstalledDispT(){}

  _GacInstalledDispT(_GacInstalled *pintf)
  {
    TAutoDriver<_GacInstalled>::Bind(pintf, false);
  }

  _GacInstalledDispT(_GacInstalledPtr pintf)
  {
    TAutoDriver<_GacInstalled>::Bind(pintf, true);
  }

  _GacInstalledDispT& operator=(_GacInstalled *pintf)
  {
    TAutoDriver<_GacInstalled>::Bind(pintf, false);
    return *this;
  }

  _GacInstalledDispT& operator=(_GacInstalledPtr pintf)
  {
    TAutoDriver<_GacInstalled>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GacInstalled));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GacInstalled);
  }


};
typedef _GacInstalledDispT<_GacInstalled> _GacInstalledDisp;

// *********************************************************************//
// SmartIntf: TCOM_GacMembershipCondition
// Interface: _GacMembershipCondition
// *********************************************************************//
template <class T /* _GacMembershipCondition */ >
class TCOM_GacMembershipConditionT : public TComInterface<_GacMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GacMembershipConditionT() {}
  TCOM_GacMembershipConditionT(_GacMembershipCondition *intf, bool addRef = false) : TComInterface<_GacMembershipCondition>(intf, addRef) {}
  TCOM_GacMembershipConditionT(const TCOM_GacMembershipConditionT& src) : TComInterface<_GacMembershipCondition>(src) {}
  TCOM_GacMembershipConditionT& operator=(const TCOM_GacMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GacMembershipConditionT<_GacMembershipCondition> TCOM_GacMembershipCondition;

// *********************************************************************//
// DispIntf:  _GacMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B2217AB5-6E55-3FF6-A1A9-1B0DC0585040}
// *********************************************************************//
template<class T>
class _GacMembershipConditionDispT : public TAutoDriver<_GacMembershipCondition>
{
public:
  _GacMembershipConditionDispT(){}

  _GacMembershipConditionDispT(_GacMembershipCondition *pintf)
  {
    TAutoDriver<_GacMembershipCondition>::Bind(pintf, false);
  }

  _GacMembershipConditionDispT(_GacMembershipConditionPtr pintf)
  {
    TAutoDriver<_GacMembershipCondition>::Bind(pintf, true);
  }

  _GacMembershipConditionDispT& operator=(_GacMembershipCondition *pintf)
  {
    TAutoDriver<_GacMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _GacMembershipConditionDispT& operator=(_GacMembershipConditionPtr pintf)
  {
    TAutoDriver<_GacMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GacMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GacMembershipCondition);
  }


};
typedef _GacMembershipConditionDispT<_GacMembershipCondition> _GacMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Hash
// Interface: _Hash
// *********************************************************************//
template <class T /* _Hash */ >
class TCOM_HashT : public TComInterface<_Hash>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HashT() {}
  TCOM_HashT(_Hash *intf, bool addRef = false) : TComInterface<_Hash>(intf, addRef) {}
  TCOM_HashT(const TCOM_HashT& src) : TComInterface<_Hash>(src) {}
  TCOM_HashT& operator=(const TCOM_HashT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HashT<_Hash> TCOM_Hash;

// *********************************************************************//
// DispIntf:  _Hash
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7574E121-74A6-3626-B578-0783BADB19D2}
// *********************************************************************//
template<class T>
class _HashDispT : public TAutoDriver<_Hash>
{
public:
  _HashDispT(){}

  _HashDispT(_Hash *pintf)
  {
    TAutoDriver<_Hash>::Bind(pintf, false);
  }

  _HashDispT(_HashPtr pintf)
  {
    TAutoDriver<_Hash>::Bind(pintf, true);
  }

  _HashDispT& operator=(_Hash *pintf)
  {
    TAutoDriver<_Hash>::Bind(pintf, false);
    return *this;
  }

  _HashDispT& operator=(_HashPtr pintf)
  {
    TAutoDriver<_Hash>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Hash));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Hash);
  }


};
typedef _HashDispT<_Hash> _HashDisp;

// *********************************************************************//
// SmartIntf: TCOM_HashMembershipCondition
// Interface: _HashMembershipCondition
// *********************************************************************//
template <class T /* _HashMembershipCondition */ >
class TCOM_HashMembershipConditionT : public TComInterface<_HashMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HashMembershipConditionT() {}
  TCOM_HashMembershipConditionT(_HashMembershipCondition *intf, bool addRef = false) : TComInterface<_HashMembershipCondition>(intf, addRef) {}
  TCOM_HashMembershipConditionT(const TCOM_HashMembershipConditionT& src) : TComInterface<_HashMembershipCondition>(src) {}
  TCOM_HashMembershipConditionT& operator=(const TCOM_HashMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HashMembershipConditionT<_HashMembershipCondition> TCOM_HashMembershipCondition;

// *********************************************************************//
// DispIntf:  _HashMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6BA6EA7A-C9FC-3E73-82EC-18F29D83EEFD}
// *********************************************************************//
template<class T>
class _HashMembershipConditionDispT : public TAutoDriver<_HashMembershipCondition>
{
public:
  _HashMembershipConditionDispT(){}

  _HashMembershipConditionDispT(_HashMembershipCondition *pintf)
  {
    TAutoDriver<_HashMembershipCondition>::Bind(pintf, false);
  }

  _HashMembershipConditionDispT(_HashMembershipConditionPtr pintf)
  {
    TAutoDriver<_HashMembershipCondition>::Bind(pintf, true);
  }

  _HashMembershipConditionDispT& operator=(_HashMembershipCondition *pintf)
  {
    TAutoDriver<_HashMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _HashMembershipConditionDispT& operator=(_HashMembershipConditionPtr pintf)
  {
    TAutoDriver<_HashMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HashMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HashMembershipCondition);
  }


};
typedef _HashMembershipConditionDispT<_HashMembershipCondition> _HashMembershipConditionDisp;

// *********************************************************************//
// SmartIntf: TCOM_Publisher
// Interface: _Publisher
// *********************************************************************//
template <class T /* _Publisher */ >
class TCOM_PublisherT : public TComInterface<_Publisher>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PublisherT() {}
  TCOM_PublisherT(_Publisher *intf, bool addRef = false) : TComInterface<_Publisher>(intf, addRef) {}
  TCOM_PublisherT(const TCOM_PublisherT& src) : TComInterface<_Publisher>(src) {}
  TCOM_PublisherT& operator=(const TCOM_PublisherT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PublisherT<_Publisher> TCOM_Publisher;

// *********************************************************************//
// DispIntf:  _Publisher
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77CCA693-ABF6-3773-BF58-C0B02701A744}
// *********************************************************************//
template<class T>
class _PublisherDispT : public TAutoDriver<_Publisher>
{
public:
  _PublisherDispT(){}

  _PublisherDispT(_Publisher *pintf)
  {
    TAutoDriver<_Publisher>::Bind(pintf, false);
  }

  _PublisherDispT(_PublisherPtr pintf)
  {
    TAutoDriver<_Publisher>::Bind(pintf, true);
  }

  _PublisherDispT& operator=(_Publisher *pintf)
  {
    TAutoDriver<_Publisher>::Bind(pintf, false);
    return *this;
  }

  _PublisherDispT& operator=(_PublisherPtr pintf)
  {
    TAutoDriver<_Publisher>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Publisher));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Publisher);
  }


};
typedef _PublisherDispT<_Publisher> _PublisherDisp;

// *********************************************************************//
// SmartIntf: TCOM_PublisherMembershipCondition
// Interface: _PublisherMembershipCondition
// *********************************************************************//
template <class T /* _PublisherMembershipCondition */ >
class TCOM_PublisherMembershipConditionT : public TComInterface<_PublisherMembershipCondition>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PublisherMembershipConditionT() {}
  TCOM_PublisherMembershipConditionT(_PublisherMembershipCondition *intf, bool addRef = false) : TComInterface<_PublisherMembershipCondition>(intf, addRef) {}
  TCOM_PublisherMembershipConditionT(const TCOM_PublisherMembershipConditionT& src) : TComInterface<_PublisherMembershipCondition>(src) {}
  TCOM_PublisherMembershipConditionT& operator=(const TCOM_PublisherMembershipConditionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PublisherMembershipConditionT<_PublisherMembershipCondition> TCOM_PublisherMembershipCondition;

// *********************************************************************//
// DispIntf:  _PublisherMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3515CF63-9863-3044-B3E1-210E98EFC702}
// *********************************************************************//
template<class T>
class _PublisherMembershipConditionDispT : public TAutoDriver<_PublisherMembershipCondition>
{
public:
  _PublisherMembershipConditionDispT(){}

  _PublisherMembershipConditionDispT(_PublisherMembershipCondition *pintf)
  {
    TAutoDriver<_PublisherMembershipCondition>::Bind(pintf, false);
  }

  _PublisherMembershipConditionDispT(_PublisherMembershipConditionPtr pintf)
  {
    TAutoDriver<_PublisherMembershipCondition>::Bind(pintf, true);
  }

  _PublisherMembershipConditionDispT& operator=(_PublisherMembershipCondition *pintf)
  {
    TAutoDriver<_PublisherMembershipCondition>::Bind(pintf, false);
    return *this;
  }

  _PublisherMembershipConditionDispT& operator=(_PublisherMembershipConditionPtr pintf)
  {
    TAutoDriver<_PublisherMembershipCondition>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PublisherMembershipCondition));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PublisherMembershipCondition);
  }


};
typedef _PublisherMembershipConditionDispT<_PublisherMembershipCondition> _PublisherMembershipConditionDisp;

typedef TComInterface<IIdentity>  TCOMIIdentity;

// *********************************************************************//
// DispIntf:  IIdentity
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F4205A87-4D46-303D-B1D9-5A99F7C90D30}
// *********************************************************************//
template<class T>
class IIdentityDispT : public TAutoDriver<IIdentity>
{
public:
  IIdentityDispT(){}

  IIdentityDispT(IIdentity *pintf)
  {
    TAutoDriver<IIdentity>::Bind(pintf, false);
  }

  IIdentityDispT(IIdentityPtr pintf)
  {
    TAutoDriver<IIdentity>::Bind(pintf, true);
  }

  IIdentityDispT& operator=(IIdentity *pintf)
  {
    TAutoDriver<IIdentity>::Bind(pintf, false);
    return *this;
  }

  IIdentityDispT& operator=(IIdentityPtr pintf)
  {
    TAutoDriver<IIdentity>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall get_AuthenticationType(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_AuthenticationType(void);
  HRESULT         __fastcall get_IsAuthenticated(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_IsAuthenticated(void);

  __property   BSTR            name = {read = get_name};
  __property   BSTR            AuthenticationType = {read = get_AuthenticationType};
  __property   TOLEBOOL        IsAuthenticated = {read = get_IsAuthenticated};
};
typedef IIdentityDispT<IIdentity> IIdentityDisp;

// *********************************************************************//
// SmartIntf: TCOM_GenericIdentity
// Interface: _GenericIdentity
// *********************************************************************//
template <class T /* _GenericIdentity */ >
class TCOM_GenericIdentityT : public TComInterface<_GenericIdentity>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GenericIdentityT() {}
  TCOM_GenericIdentityT(_GenericIdentity *intf, bool addRef = false) : TComInterface<_GenericIdentity>(intf, addRef) {}
  TCOM_GenericIdentityT(const TCOM_GenericIdentityT& src) : TComInterface<_GenericIdentity>(src) {}
  TCOM_GenericIdentityT& operator=(const TCOM_GenericIdentityT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GenericIdentityT<_GenericIdentity> TCOM_GenericIdentity;

// *********************************************************************//
// DispIntf:  _GenericIdentity
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9A37D8B2-2256-3FE3-8BF0-4FC421A1244F}
// *********************************************************************//
template<class T>
class _GenericIdentityDispT : public TAutoDriver<_GenericIdentity>
{
public:
  _GenericIdentityDispT(){}

  _GenericIdentityDispT(_GenericIdentity *pintf)
  {
    TAutoDriver<_GenericIdentity>::Bind(pintf, false);
  }

  _GenericIdentityDispT(_GenericIdentityPtr pintf)
  {
    TAutoDriver<_GenericIdentity>::Bind(pintf, true);
  }

  _GenericIdentityDispT& operator=(_GenericIdentity *pintf)
  {
    TAutoDriver<_GenericIdentity>::Bind(pintf, false);
    return *this;
  }

  _GenericIdentityDispT& operator=(_GenericIdentityPtr pintf)
  {
    TAutoDriver<_GenericIdentity>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GenericIdentity));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GenericIdentity);
  }


};
typedef _GenericIdentityDispT<_GenericIdentity> _GenericIdentityDisp;

typedef TComInterface<IPrincipal>  TCOMIPrincipal;

// *********************************************************************//
// DispIntf:  IPrincipal
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4283CA6C-D291-3481-83C9-9554481FE888}
// *********************************************************************//
template<class T>
class IPrincipalDispT : public TAutoDriver<IPrincipal>
{
public:
  IPrincipalDispT(){}

  IPrincipalDispT(IPrincipal *pintf)
  {
    TAutoDriver<IPrincipal>::Bind(pintf, false);
  }

  IPrincipalDispT(IPrincipalPtr pintf)
  {
    TAutoDriver<IPrincipal>::Bind(pintf, true);
  }

  IPrincipalDispT& operator=(IPrincipal *pintf)
  {
    TAutoDriver<IPrincipal>::Bind(pintf, false);
    return *this;
  }

  IPrincipalDispT& operator=(IPrincipalPtr pintf)
  {
    TAutoDriver<IPrincipal>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Identity(Mscorlib_tlb::IIdentityPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IIdentityPtr __fastcall get_Identity(void);
  HRESULT         __fastcall IsInRole(BSTR role/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsInRole(BSTR role/*[in]*/);

  __property   Mscorlib_tlb::IIdentityPtr Identity = {read = get_Identity};
};
typedef IPrincipalDispT<IPrincipal> IPrincipalDisp;

// *********************************************************************//
// SmartIntf: TCOM_GenericPrincipal
// Interface: _GenericPrincipal
// *********************************************************************//
template <class T /* _GenericPrincipal */ >
class TCOM_GenericPrincipalT : public TComInterface<_GenericPrincipal>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GenericPrincipalT() {}
  TCOM_GenericPrincipalT(_GenericPrincipal *intf, bool addRef = false) : TComInterface<_GenericPrincipal>(intf, addRef) {}
  TCOM_GenericPrincipalT(const TCOM_GenericPrincipalT& src) : TComInterface<_GenericPrincipal>(src) {}
  TCOM_GenericPrincipalT& operator=(const TCOM_GenericPrincipalT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GenericPrincipalT<_GenericPrincipal> TCOM_GenericPrincipal;

// *********************************************************************//
// DispIntf:  _GenericPrincipal
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B4701C26-1509-3726-B2E1-409A636C9B4F}
// *********************************************************************//
template<class T>
class _GenericPrincipalDispT : public TAutoDriver<_GenericPrincipal>
{
public:
  _GenericPrincipalDispT(){}

  _GenericPrincipalDispT(_GenericPrincipal *pintf)
  {
    TAutoDriver<_GenericPrincipal>::Bind(pintf, false);
  }

  _GenericPrincipalDispT(_GenericPrincipalPtr pintf)
  {
    TAutoDriver<_GenericPrincipal>::Bind(pintf, true);
  }

  _GenericPrincipalDispT& operator=(_GenericPrincipal *pintf)
  {
    TAutoDriver<_GenericPrincipal>::Bind(pintf, false);
    return *this;
  }

  _GenericPrincipalDispT& operator=(_GenericPrincipalPtr pintf)
  {
    TAutoDriver<_GenericPrincipal>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GenericPrincipal));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GenericPrincipal);
  }


};
typedef _GenericPrincipalDispT<_GenericPrincipal> _GenericPrincipalDisp;

// *********************************************************************//
// SmartIntf: TCOM_WindowsIdentity
// Interface: _WindowsIdentity
// *********************************************************************//
template <class T /* _WindowsIdentity */ >
class TCOM_WindowsIdentityT : public TComInterface<_WindowsIdentity>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WindowsIdentityT() {}
  TCOM_WindowsIdentityT(_WindowsIdentity *intf, bool addRef = false) : TComInterface<_WindowsIdentity>(intf, addRef) {}
  TCOM_WindowsIdentityT(const TCOM_WindowsIdentityT& src) : TComInterface<_WindowsIdentity>(src) {}
  TCOM_WindowsIdentityT& operator=(const TCOM_WindowsIdentityT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WindowsIdentityT<_WindowsIdentity> TCOM_WindowsIdentity;

// *********************************************************************//
// DispIntf:  _WindowsIdentity
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D8CF3F23-1A66-3344-8230-07EB53970B85}
// *********************************************************************//
template<class T>
class _WindowsIdentityDispT : public TAutoDriver<_WindowsIdentity>
{
public:
  _WindowsIdentityDispT(){}

  _WindowsIdentityDispT(_WindowsIdentity *pintf)
  {
    TAutoDriver<_WindowsIdentity>::Bind(pintf, false);
  }

  _WindowsIdentityDispT(_WindowsIdentityPtr pintf)
  {
    TAutoDriver<_WindowsIdentity>::Bind(pintf, true);
  }

  _WindowsIdentityDispT& operator=(_WindowsIdentity *pintf)
  {
    TAutoDriver<_WindowsIdentity>::Bind(pintf, false);
    return *this;
  }

  _WindowsIdentityDispT& operator=(_WindowsIdentityPtr pintf)
  {
    TAutoDriver<_WindowsIdentity>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WindowsIdentity));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WindowsIdentity);
  }


};
typedef _WindowsIdentityDispT<_WindowsIdentity> _WindowsIdentityDisp;

// *********************************************************************//
// SmartIntf: TCOM_WindowsImpersonationContext
// Interface: _WindowsImpersonationContext
// *********************************************************************//
template <class T /* _WindowsImpersonationContext */ >
class TCOM_WindowsImpersonationContextT : public TComInterface<_WindowsImpersonationContext>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WindowsImpersonationContextT() {}
  TCOM_WindowsImpersonationContextT(_WindowsImpersonationContext *intf, bool addRef = false) : TComInterface<_WindowsImpersonationContext>(intf, addRef) {}
  TCOM_WindowsImpersonationContextT(const TCOM_WindowsImpersonationContextT& src) : TComInterface<_WindowsImpersonationContext>(src) {}
  TCOM_WindowsImpersonationContextT& operator=(const TCOM_WindowsImpersonationContextT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WindowsImpersonationContextT<_WindowsImpersonationContext> TCOM_WindowsImpersonationContext;

// *********************************************************************//
// DispIntf:  _WindowsImpersonationContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {60ECFDDA-650A-324C-B4B3-F4D75B563BB1}
// *********************************************************************//
template<class T>
class _WindowsImpersonationContextDispT : public TAutoDriver<_WindowsImpersonationContext>
{
public:
  _WindowsImpersonationContextDispT(){}

  _WindowsImpersonationContextDispT(_WindowsImpersonationContext *pintf)
  {
    TAutoDriver<_WindowsImpersonationContext>::Bind(pintf, false);
  }

  _WindowsImpersonationContextDispT(_WindowsImpersonationContextPtr pintf)
  {
    TAutoDriver<_WindowsImpersonationContext>::Bind(pintf, true);
  }

  _WindowsImpersonationContextDispT& operator=(_WindowsImpersonationContext *pintf)
  {
    TAutoDriver<_WindowsImpersonationContext>::Bind(pintf, false);
    return *this;
  }

  _WindowsImpersonationContextDispT& operator=(_WindowsImpersonationContextPtr pintf)
  {
    TAutoDriver<_WindowsImpersonationContext>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WindowsImpersonationContext));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WindowsImpersonationContext);
  }


};
typedef _WindowsImpersonationContextDispT<_WindowsImpersonationContext> _WindowsImpersonationContextDisp;

// *********************************************************************//
// SmartIntf: TCOM_WindowsPrincipal
// Interface: _WindowsPrincipal
// *********************************************************************//
template <class T /* _WindowsPrincipal */ >
class TCOM_WindowsPrincipalT : public TComInterface<_WindowsPrincipal>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WindowsPrincipalT() {}
  TCOM_WindowsPrincipalT(_WindowsPrincipal *intf, bool addRef = false) : TComInterface<_WindowsPrincipal>(intf, addRef) {}
  TCOM_WindowsPrincipalT(const TCOM_WindowsPrincipalT& src) : TComInterface<_WindowsPrincipal>(src) {}
  TCOM_WindowsPrincipalT& operator=(const TCOM_WindowsPrincipalT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WindowsPrincipalT<_WindowsPrincipal> TCOM_WindowsPrincipal;

// *********************************************************************//
// DispIntf:  _WindowsPrincipal
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6C42BAF9-1893-34FC-B3AF-06931E9B34A3}
// *********************************************************************//
template<class T>
class _WindowsPrincipalDispT : public TAutoDriver<_WindowsPrincipal>
{
public:
  _WindowsPrincipalDispT(){}

  _WindowsPrincipalDispT(_WindowsPrincipal *pintf)
  {
    TAutoDriver<_WindowsPrincipal>::Bind(pintf, false);
  }

  _WindowsPrincipalDispT(_WindowsPrincipalPtr pintf)
  {
    TAutoDriver<_WindowsPrincipal>::Bind(pintf, true);
  }

  _WindowsPrincipalDispT& operator=(_WindowsPrincipal *pintf)
  {
    TAutoDriver<_WindowsPrincipal>::Bind(pintf, false);
    return *this;
  }

  _WindowsPrincipalDispT& operator=(_WindowsPrincipalPtr pintf)
  {
    TAutoDriver<_WindowsPrincipal>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WindowsPrincipal));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WindowsPrincipal);
  }


};
typedef _WindowsPrincipalDispT<_WindowsPrincipal> _WindowsPrincipalDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnmanagedFunctionPointerAttribute
// Interface: _UnmanagedFunctionPointerAttribute
// *********************************************************************//
template <class T /* _UnmanagedFunctionPointerAttribute */ >
class TCOM_UnmanagedFunctionPointerAttributeT : public TComInterface<_UnmanagedFunctionPointerAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnmanagedFunctionPointerAttributeT() {}
  TCOM_UnmanagedFunctionPointerAttributeT(_UnmanagedFunctionPointerAttribute *intf, bool addRef = false) : TComInterface<_UnmanagedFunctionPointerAttribute>(intf, addRef) {}
  TCOM_UnmanagedFunctionPointerAttributeT(const TCOM_UnmanagedFunctionPointerAttributeT& src) : TComInterface<_UnmanagedFunctionPointerAttribute>(src) {}
  TCOM_UnmanagedFunctionPointerAttributeT& operator=(const TCOM_UnmanagedFunctionPointerAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnmanagedFunctionPointerAttributeT<_UnmanagedFunctionPointerAttribute> TCOM_UnmanagedFunctionPointerAttribute;

// *********************************************************************//
// DispIntf:  _UnmanagedFunctionPointerAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1B6ED26A-4B7F-34FC-B2C8-8109D684B3DF}
// *********************************************************************//
template<class T>
class _UnmanagedFunctionPointerAttributeDispT : public TAutoDriver<_UnmanagedFunctionPointerAttribute>
{
public:
  _UnmanagedFunctionPointerAttributeDispT(){}

  _UnmanagedFunctionPointerAttributeDispT(_UnmanagedFunctionPointerAttribute *pintf)
  {
    TAutoDriver<_UnmanagedFunctionPointerAttribute>::Bind(pintf, false);
  }

  _UnmanagedFunctionPointerAttributeDispT(_UnmanagedFunctionPointerAttributePtr pintf)
  {
    TAutoDriver<_UnmanagedFunctionPointerAttribute>::Bind(pintf, true);
  }

  _UnmanagedFunctionPointerAttributeDispT& operator=(_UnmanagedFunctionPointerAttribute *pintf)
  {
    TAutoDriver<_UnmanagedFunctionPointerAttribute>::Bind(pintf, false);
    return *this;
  }

  _UnmanagedFunctionPointerAttributeDispT& operator=(_UnmanagedFunctionPointerAttributePtr pintf)
  {
    TAutoDriver<_UnmanagedFunctionPointerAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnmanagedFunctionPointerAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnmanagedFunctionPointerAttribute);
  }


};
typedef _UnmanagedFunctionPointerAttributeDispT<_UnmanagedFunctionPointerAttribute> _UnmanagedFunctionPointerAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DispIdAttribute
// Interface: _DispIdAttribute
// *********************************************************************//
template <class T /* _DispIdAttribute */ >
class TCOM_DispIdAttributeT : public TComInterface<_DispIdAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DispIdAttributeT() {}
  TCOM_DispIdAttributeT(_DispIdAttribute *intf, bool addRef = false) : TComInterface<_DispIdAttribute>(intf, addRef) {}
  TCOM_DispIdAttributeT(const TCOM_DispIdAttributeT& src) : TComInterface<_DispIdAttribute>(src) {}
  TCOM_DispIdAttributeT& operator=(const TCOM_DispIdAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DispIdAttributeT<_DispIdAttribute> TCOM_DispIdAttribute;

// *********************************************************************//
// DispIntf:  _DispIdAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BBE41AC5-8692-3427-9AE1-C1058A38D492}
// *********************************************************************//
template<class T>
class _DispIdAttributeDispT : public TAutoDriver<_DispIdAttribute>
{
public:
  _DispIdAttributeDispT(){}

  _DispIdAttributeDispT(_DispIdAttribute *pintf)
  {
    TAutoDriver<_DispIdAttribute>::Bind(pintf, false);
  }

  _DispIdAttributeDispT(_DispIdAttributePtr pintf)
  {
    TAutoDriver<_DispIdAttribute>::Bind(pintf, true);
  }

  _DispIdAttributeDispT& operator=(_DispIdAttribute *pintf)
  {
    TAutoDriver<_DispIdAttribute>::Bind(pintf, false);
    return *this;
  }

  _DispIdAttributeDispT& operator=(_DispIdAttributePtr pintf)
  {
    TAutoDriver<_DispIdAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DispIdAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DispIdAttribute);
  }


};
typedef _DispIdAttributeDispT<_DispIdAttribute> _DispIdAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_InterfaceTypeAttribute
// Interface: _InterfaceTypeAttribute
// *********************************************************************//
template <class T /* _InterfaceTypeAttribute */ >
class TCOM_InterfaceTypeAttributeT : public TComInterface<_InterfaceTypeAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InterfaceTypeAttributeT() {}
  TCOM_InterfaceTypeAttributeT(_InterfaceTypeAttribute *intf, bool addRef = false) : TComInterface<_InterfaceTypeAttribute>(intf, addRef) {}
  TCOM_InterfaceTypeAttributeT(const TCOM_InterfaceTypeAttributeT& src) : TComInterface<_InterfaceTypeAttribute>(src) {}
  TCOM_InterfaceTypeAttributeT& operator=(const TCOM_InterfaceTypeAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InterfaceTypeAttributeT<_InterfaceTypeAttribute> TCOM_InterfaceTypeAttribute;

// *********************************************************************//
// DispIntf:  _InterfaceTypeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A2145F38-CAC1-33DD-A318-21948AF6825D}
// *********************************************************************//
template<class T>
class _InterfaceTypeAttributeDispT : public TAutoDriver<_InterfaceTypeAttribute>
{
public:
  _InterfaceTypeAttributeDispT(){}

  _InterfaceTypeAttributeDispT(_InterfaceTypeAttribute *pintf)
  {
    TAutoDriver<_InterfaceTypeAttribute>::Bind(pintf, false);
  }

  _InterfaceTypeAttributeDispT(_InterfaceTypeAttributePtr pintf)
  {
    TAutoDriver<_InterfaceTypeAttribute>::Bind(pintf, true);
  }

  _InterfaceTypeAttributeDispT& operator=(_InterfaceTypeAttribute *pintf)
  {
    TAutoDriver<_InterfaceTypeAttribute>::Bind(pintf, false);
    return *this;
  }

  _InterfaceTypeAttributeDispT& operator=(_InterfaceTypeAttributePtr pintf)
  {
    TAutoDriver<_InterfaceTypeAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InterfaceTypeAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InterfaceTypeAttribute);
  }


};
typedef _InterfaceTypeAttributeDispT<_InterfaceTypeAttribute> _InterfaceTypeAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComDefaultInterfaceAttribute
// Interface: _ComDefaultInterfaceAttribute
// *********************************************************************//
template <class T /* _ComDefaultInterfaceAttribute */ >
class TCOM_ComDefaultInterfaceAttributeT : public TComInterface<_ComDefaultInterfaceAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComDefaultInterfaceAttributeT() {}
  TCOM_ComDefaultInterfaceAttributeT(_ComDefaultInterfaceAttribute *intf, bool addRef = false) : TComInterface<_ComDefaultInterfaceAttribute>(intf, addRef) {}
  TCOM_ComDefaultInterfaceAttributeT(const TCOM_ComDefaultInterfaceAttributeT& src) : TComInterface<_ComDefaultInterfaceAttribute>(src) {}
  TCOM_ComDefaultInterfaceAttributeT& operator=(const TCOM_ComDefaultInterfaceAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComDefaultInterfaceAttributeT<_ComDefaultInterfaceAttribute> TCOM_ComDefaultInterfaceAttribute;

// *********************************************************************//
// DispIntf:  _ComDefaultInterfaceAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0C1E7B57-B9B1-36E4-8396-549C29062A81}
// *********************************************************************//
template<class T>
class _ComDefaultInterfaceAttributeDispT : public TAutoDriver<_ComDefaultInterfaceAttribute>
{
public:
  _ComDefaultInterfaceAttributeDispT(){}

  _ComDefaultInterfaceAttributeDispT(_ComDefaultInterfaceAttribute *pintf)
  {
    TAutoDriver<_ComDefaultInterfaceAttribute>::Bind(pintf, false);
  }

  _ComDefaultInterfaceAttributeDispT(_ComDefaultInterfaceAttributePtr pintf)
  {
    TAutoDriver<_ComDefaultInterfaceAttribute>::Bind(pintf, true);
  }

  _ComDefaultInterfaceAttributeDispT& operator=(_ComDefaultInterfaceAttribute *pintf)
  {
    TAutoDriver<_ComDefaultInterfaceAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComDefaultInterfaceAttributeDispT& operator=(_ComDefaultInterfaceAttributePtr pintf)
  {
    TAutoDriver<_ComDefaultInterfaceAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComDefaultInterfaceAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComDefaultInterfaceAttribute);
  }


};
typedef _ComDefaultInterfaceAttributeDispT<_ComDefaultInterfaceAttribute> _ComDefaultInterfaceAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ClassInterfaceAttribute
// Interface: _ClassInterfaceAttribute
// *********************************************************************//
template <class T /* _ClassInterfaceAttribute */ >
class TCOM_ClassInterfaceAttributeT : public TComInterface<_ClassInterfaceAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ClassInterfaceAttributeT() {}
  TCOM_ClassInterfaceAttributeT(_ClassInterfaceAttribute *intf, bool addRef = false) : TComInterface<_ClassInterfaceAttribute>(intf, addRef) {}
  TCOM_ClassInterfaceAttributeT(const TCOM_ClassInterfaceAttributeT& src) : TComInterface<_ClassInterfaceAttribute>(src) {}
  TCOM_ClassInterfaceAttributeT& operator=(const TCOM_ClassInterfaceAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ClassInterfaceAttributeT<_ClassInterfaceAttribute> TCOM_ClassInterfaceAttribute;

// *********************************************************************//
// DispIntf:  _ClassInterfaceAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6B6391EE-842F-3E9A-8EEE-F13325E10996}
// *********************************************************************//
template<class T>
class _ClassInterfaceAttributeDispT : public TAutoDriver<_ClassInterfaceAttribute>
{
public:
  _ClassInterfaceAttributeDispT(){}

  _ClassInterfaceAttributeDispT(_ClassInterfaceAttribute *pintf)
  {
    TAutoDriver<_ClassInterfaceAttribute>::Bind(pintf, false);
  }

  _ClassInterfaceAttributeDispT(_ClassInterfaceAttributePtr pintf)
  {
    TAutoDriver<_ClassInterfaceAttribute>::Bind(pintf, true);
  }

  _ClassInterfaceAttributeDispT& operator=(_ClassInterfaceAttribute *pintf)
  {
    TAutoDriver<_ClassInterfaceAttribute>::Bind(pintf, false);
    return *this;
  }

  _ClassInterfaceAttributeDispT& operator=(_ClassInterfaceAttributePtr pintf)
  {
    TAutoDriver<_ClassInterfaceAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ClassInterfaceAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ClassInterfaceAttribute);
  }


};
typedef _ClassInterfaceAttributeDispT<_ClassInterfaceAttribute> _ClassInterfaceAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComVisibleAttribute
// Interface: _ComVisibleAttribute
// *********************************************************************//
template <class T /* _ComVisibleAttribute */ >
class TCOM_ComVisibleAttributeT : public TComInterface<_ComVisibleAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComVisibleAttributeT() {}
  TCOM_ComVisibleAttributeT(_ComVisibleAttribute *intf, bool addRef = false) : TComInterface<_ComVisibleAttribute>(intf, addRef) {}
  TCOM_ComVisibleAttributeT(const TCOM_ComVisibleAttributeT& src) : TComInterface<_ComVisibleAttribute>(src) {}
  TCOM_ComVisibleAttributeT& operator=(const TCOM_ComVisibleAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComVisibleAttributeT<_ComVisibleAttribute> TCOM_ComVisibleAttribute;

// *********************************************************************//
// DispIntf:  _ComVisibleAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1E7FFFE2-AAD9-34EE-8A9F-3C016B880FF0}
// *********************************************************************//
template<class T>
class _ComVisibleAttributeDispT : public TAutoDriver<_ComVisibleAttribute>
{
public:
  _ComVisibleAttributeDispT(){}

  _ComVisibleAttributeDispT(_ComVisibleAttribute *pintf)
  {
    TAutoDriver<_ComVisibleAttribute>::Bind(pintf, false);
  }

  _ComVisibleAttributeDispT(_ComVisibleAttributePtr pintf)
  {
    TAutoDriver<_ComVisibleAttribute>::Bind(pintf, true);
  }

  _ComVisibleAttributeDispT& operator=(_ComVisibleAttribute *pintf)
  {
    TAutoDriver<_ComVisibleAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComVisibleAttributeDispT& operator=(_ComVisibleAttributePtr pintf)
  {
    TAutoDriver<_ComVisibleAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComVisibleAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComVisibleAttribute);
  }


};
typedef _ComVisibleAttributeDispT<_ComVisibleAttribute> _ComVisibleAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeLibImportClassAttribute
// Interface: _TypeLibImportClassAttribute
// *********************************************************************//
template <class T /* _TypeLibImportClassAttribute */ >
class TCOM_TypeLibImportClassAttributeT : public TComInterface<_TypeLibImportClassAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeLibImportClassAttributeT() {}
  TCOM_TypeLibImportClassAttributeT(_TypeLibImportClassAttribute *intf, bool addRef = false) : TComInterface<_TypeLibImportClassAttribute>(intf, addRef) {}
  TCOM_TypeLibImportClassAttributeT(const TCOM_TypeLibImportClassAttributeT& src) : TComInterface<_TypeLibImportClassAttribute>(src) {}
  TCOM_TypeLibImportClassAttributeT& operator=(const TCOM_TypeLibImportClassAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeLibImportClassAttributeT<_TypeLibImportClassAttribute> TCOM_TypeLibImportClassAttribute;

// *********************************************************************//
// DispIntf:  _TypeLibImportClassAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {288A86D1-6F4F-39C9-9E42-162CF1C37226}
// *********************************************************************//
template<class T>
class _TypeLibImportClassAttributeDispT : public TAutoDriver<_TypeLibImportClassAttribute>
{
public:
  _TypeLibImportClassAttributeDispT(){}

  _TypeLibImportClassAttributeDispT(_TypeLibImportClassAttribute *pintf)
  {
    TAutoDriver<_TypeLibImportClassAttribute>::Bind(pintf, false);
  }

  _TypeLibImportClassAttributeDispT(_TypeLibImportClassAttributePtr pintf)
  {
    TAutoDriver<_TypeLibImportClassAttribute>::Bind(pintf, true);
  }

  _TypeLibImportClassAttributeDispT& operator=(_TypeLibImportClassAttribute *pintf)
  {
    TAutoDriver<_TypeLibImportClassAttribute>::Bind(pintf, false);
    return *this;
  }

  _TypeLibImportClassAttributeDispT& operator=(_TypeLibImportClassAttributePtr pintf)
  {
    TAutoDriver<_TypeLibImportClassAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeLibImportClassAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeLibImportClassAttribute);
  }


};
typedef _TypeLibImportClassAttributeDispT<_TypeLibImportClassAttribute> _TypeLibImportClassAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_LCIDConversionAttribute
// Interface: _LCIDConversionAttribute
// *********************************************************************//
template <class T /* _LCIDConversionAttribute */ >
class TCOM_LCIDConversionAttributeT : public TComInterface<_LCIDConversionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LCIDConversionAttributeT() {}
  TCOM_LCIDConversionAttributeT(_LCIDConversionAttribute *intf, bool addRef = false) : TComInterface<_LCIDConversionAttribute>(intf, addRef) {}
  TCOM_LCIDConversionAttributeT(const TCOM_LCIDConversionAttributeT& src) : TComInterface<_LCIDConversionAttribute>(src) {}
  TCOM_LCIDConversionAttributeT& operator=(const TCOM_LCIDConversionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_LCIDConversionAttributeT<_LCIDConversionAttribute> TCOM_LCIDConversionAttribute;

// *********************************************************************//
// DispIntf:  _LCIDConversionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4AB67927-3C86-328A-8186-F85357DD5527}
// *********************************************************************//
template<class T>
class _LCIDConversionAttributeDispT : public TAutoDriver<_LCIDConversionAttribute>
{
public:
  _LCIDConversionAttributeDispT(){}

  _LCIDConversionAttributeDispT(_LCIDConversionAttribute *pintf)
  {
    TAutoDriver<_LCIDConversionAttribute>::Bind(pintf, false);
  }

  _LCIDConversionAttributeDispT(_LCIDConversionAttributePtr pintf)
  {
    TAutoDriver<_LCIDConversionAttribute>::Bind(pintf, true);
  }

  _LCIDConversionAttributeDispT& operator=(_LCIDConversionAttribute *pintf)
  {
    TAutoDriver<_LCIDConversionAttribute>::Bind(pintf, false);
    return *this;
  }

  _LCIDConversionAttributeDispT& operator=(_LCIDConversionAttributePtr pintf)
  {
    TAutoDriver<_LCIDConversionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_LCIDConversionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_LCIDConversionAttribute);
  }


};
typedef _LCIDConversionAttributeDispT<_LCIDConversionAttribute> _LCIDConversionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComRegisterFunctionAttribute
// Interface: _ComRegisterFunctionAttribute
// *********************************************************************//
template <class T /* _ComRegisterFunctionAttribute */ >
class TCOM_ComRegisterFunctionAttributeT : public TComInterface<_ComRegisterFunctionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComRegisterFunctionAttributeT() {}
  TCOM_ComRegisterFunctionAttributeT(_ComRegisterFunctionAttribute *intf, bool addRef = false) : TComInterface<_ComRegisterFunctionAttribute>(intf, addRef) {}
  TCOM_ComRegisterFunctionAttributeT(const TCOM_ComRegisterFunctionAttributeT& src) : TComInterface<_ComRegisterFunctionAttribute>(src) {}
  TCOM_ComRegisterFunctionAttributeT& operator=(const TCOM_ComRegisterFunctionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComRegisterFunctionAttributeT<_ComRegisterFunctionAttribute> TCOM_ComRegisterFunctionAttribute;

// *********************************************************************//
// DispIntf:  _ComRegisterFunctionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {51BA926F-AAB5-3945-B8A6-C8F0F4A7D12B}
// *********************************************************************//
template<class T>
class _ComRegisterFunctionAttributeDispT : public TAutoDriver<_ComRegisterFunctionAttribute>
{
public:
  _ComRegisterFunctionAttributeDispT(){}

  _ComRegisterFunctionAttributeDispT(_ComRegisterFunctionAttribute *pintf)
  {
    TAutoDriver<_ComRegisterFunctionAttribute>::Bind(pintf, false);
  }

  _ComRegisterFunctionAttributeDispT(_ComRegisterFunctionAttributePtr pintf)
  {
    TAutoDriver<_ComRegisterFunctionAttribute>::Bind(pintf, true);
  }

  _ComRegisterFunctionAttributeDispT& operator=(_ComRegisterFunctionAttribute *pintf)
  {
    TAutoDriver<_ComRegisterFunctionAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComRegisterFunctionAttributeDispT& operator=(_ComRegisterFunctionAttributePtr pintf)
  {
    TAutoDriver<_ComRegisterFunctionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComRegisterFunctionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComRegisterFunctionAttribute);
  }


};
typedef _ComRegisterFunctionAttributeDispT<_ComRegisterFunctionAttribute> _ComRegisterFunctionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComUnregisterFunctionAttribute
// Interface: _ComUnregisterFunctionAttribute
// *********************************************************************//
template <class T /* _ComUnregisterFunctionAttribute */ >
class TCOM_ComUnregisterFunctionAttributeT : public TComInterface<_ComUnregisterFunctionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComUnregisterFunctionAttributeT() {}
  TCOM_ComUnregisterFunctionAttributeT(_ComUnregisterFunctionAttribute *intf, bool addRef = false) : TComInterface<_ComUnregisterFunctionAttribute>(intf, addRef) {}
  TCOM_ComUnregisterFunctionAttributeT(const TCOM_ComUnregisterFunctionAttributeT& src) : TComInterface<_ComUnregisterFunctionAttribute>(src) {}
  TCOM_ComUnregisterFunctionAttributeT& operator=(const TCOM_ComUnregisterFunctionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComUnregisterFunctionAttributeT<_ComUnregisterFunctionAttribute> TCOM_ComUnregisterFunctionAttribute;

// *********************************************************************//
// DispIntf:  _ComUnregisterFunctionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9F164188-34EB-3F86-9F74-0BBE4155E65E}
// *********************************************************************//
template<class T>
class _ComUnregisterFunctionAttributeDispT : public TAutoDriver<_ComUnregisterFunctionAttribute>
{
public:
  _ComUnregisterFunctionAttributeDispT(){}

  _ComUnregisterFunctionAttributeDispT(_ComUnregisterFunctionAttribute *pintf)
  {
    TAutoDriver<_ComUnregisterFunctionAttribute>::Bind(pintf, false);
  }

  _ComUnregisterFunctionAttributeDispT(_ComUnregisterFunctionAttributePtr pintf)
  {
    TAutoDriver<_ComUnregisterFunctionAttribute>::Bind(pintf, true);
  }

  _ComUnregisterFunctionAttributeDispT& operator=(_ComUnregisterFunctionAttribute *pintf)
  {
    TAutoDriver<_ComUnregisterFunctionAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComUnregisterFunctionAttributeDispT& operator=(_ComUnregisterFunctionAttributePtr pintf)
  {
    TAutoDriver<_ComUnregisterFunctionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComUnregisterFunctionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComUnregisterFunctionAttribute);
  }


};
typedef _ComUnregisterFunctionAttributeDispT<_ComUnregisterFunctionAttribute> _ComUnregisterFunctionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ProgIdAttribute
// Interface: _ProgIdAttribute
// *********************************************************************//
template <class T /* _ProgIdAttribute */ >
class TCOM_ProgIdAttributeT : public TComInterface<_ProgIdAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ProgIdAttributeT() {}
  TCOM_ProgIdAttributeT(_ProgIdAttribute *intf, bool addRef = false) : TComInterface<_ProgIdAttribute>(intf, addRef) {}
  TCOM_ProgIdAttributeT(const TCOM_ProgIdAttributeT& src) : TComInterface<_ProgIdAttribute>(src) {}
  TCOM_ProgIdAttributeT& operator=(const TCOM_ProgIdAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ProgIdAttributeT<_ProgIdAttribute> TCOM_ProgIdAttribute;

// *********************************************************************//
// DispIntf:  _ProgIdAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2B9F01DF-5A12-3688-98D6-C34BF5ED1865}
// *********************************************************************//
template<class T>
class _ProgIdAttributeDispT : public TAutoDriver<_ProgIdAttribute>
{
public:
  _ProgIdAttributeDispT(){}

  _ProgIdAttributeDispT(_ProgIdAttribute *pintf)
  {
    TAutoDriver<_ProgIdAttribute>::Bind(pintf, false);
  }

  _ProgIdAttributeDispT(_ProgIdAttributePtr pintf)
  {
    TAutoDriver<_ProgIdAttribute>::Bind(pintf, true);
  }

  _ProgIdAttributeDispT& operator=(_ProgIdAttribute *pintf)
  {
    TAutoDriver<_ProgIdAttribute>::Bind(pintf, false);
    return *this;
  }

  _ProgIdAttributeDispT& operator=(_ProgIdAttributePtr pintf)
  {
    TAutoDriver<_ProgIdAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ProgIdAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ProgIdAttribute);
  }


};
typedef _ProgIdAttributeDispT<_ProgIdAttribute> _ProgIdAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ImportedFromTypeLibAttribute
// Interface: _ImportedFromTypeLibAttribute
// *********************************************************************//
template <class T /* _ImportedFromTypeLibAttribute */ >
class TCOM_ImportedFromTypeLibAttributeT : public TComInterface<_ImportedFromTypeLibAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ImportedFromTypeLibAttributeT() {}
  TCOM_ImportedFromTypeLibAttributeT(_ImportedFromTypeLibAttribute *intf, bool addRef = false) : TComInterface<_ImportedFromTypeLibAttribute>(intf, addRef) {}
  TCOM_ImportedFromTypeLibAttributeT(const TCOM_ImportedFromTypeLibAttributeT& src) : TComInterface<_ImportedFromTypeLibAttribute>(src) {}
  TCOM_ImportedFromTypeLibAttributeT& operator=(const TCOM_ImportedFromTypeLibAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ImportedFromTypeLibAttributeT<_ImportedFromTypeLibAttribute> TCOM_ImportedFromTypeLibAttribute;

// *********************************************************************//
// DispIntf:  _ImportedFromTypeLibAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3F3311CE-6BAF-3FB0-B855-489AFF740B6E}
// *********************************************************************//
template<class T>
class _ImportedFromTypeLibAttributeDispT : public TAutoDriver<_ImportedFromTypeLibAttribute>
{
public:
  _ImportedFromTypeLibAttributeDispT(){}

  _ImportedFromTypeLibAttributeDispT(_ImportedFromTypeLibAttribute *pintf)
  {
    TAutoDriver<_ImportedFromTypeLibAttribute>::Bind(pintf, false);
  }

  _ImportedFromTypeLibAttributeDispT(_ImportedFromTypeLibAttributePtr pintf)
  {
    TAutoDriver<_ImportedFromTypeLibAttribute>::Bind(pintf, true);
  }

  _ImportedFromTypeLibAttributeDispT& operator=(_ImportedFromTypeLibAttribute *pintf)
  {
    TAutoDriver<_ImportedFromTypeLibAttribute>::Bind(pintf, false);
    return *this;
  }

  _ImportedFromTypeLibAttributeDispT& operator=(_ImportedFromTypeLibAttributePtr pintf)
  {
    TAutoDriver<_ImportedFromTypeLibAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ImportedFromTypeLibAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ImportedFromTypeLibAttribute);
  }


};
typedef _ImportedFromTypeLibAttributeDispT<_ImportedFromTypeLibAttribute> _ImportedFromTypeLibAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IDispatchImplAttribute
// Interface: _IDispatchImplAttribute
// *********************************************************************//
template <class T /* _IDispatchImplAttribute */ >
class TCOM_IDispatchImplAttributeT : public TComInterface<_IDispatchImplAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IDispatchImplAttributeT() {}
  TCOM_IDispatchImplAttributeT(_IDispatchImplAttribute *intf, bool addRef = false) : TComInterface<_IDispatchImplAttribute>(intf, addRef) {}
  TCOM_IDispatchImplAttributeT(const TCOM_IDispatchImplAttributeT& src) : TComInterface<_IDispatchImplAttribute>(src) {}
  TCOM_IDispatchImplAttributeT& operator=(const TCOM_IDispatchImplAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IDispatchImplAttributeT<_IDispatchImplAttribute> TCOM_IDispatchImplAttribute;

// *********************************************************************//
// DispIntf:  _IDispatchImplAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5778E7C7-2040-330E-B47A-92974DFFCFD4}
// *********************************************************************//
template<class T>
class _IDispatchImplAttributeDispT : public TAutoDriver<_IDispatchImplAttribute>
{
public:
  _IDispatchImplAttributeDispT(){}

  _IDispatchImplAttributeDispT(_IDispatchImplAttribute *pintf)
  {
    TAutoDriver<_IDispatchImplAttribute>::Bind(pintf, false);
  }

  _IDispatchImplAttributeDispT(_IDispatchImplAttributePtr pintf)
  {
    TAutoDriver<_IDispatchImplAttribute>::Bind(pintf, true);
  }

  _IDispatchImplAttributeDispT& operator=(_IDispatchImplAttribute *pintf)
  {
    TAutoDriver<_IDispatchImplAttribute>::Bind(pintf, false);
    return *this;
  }

  _IDispatchImplAttributeDispT& operator=(_IDispatchImplAttributePtr pintf)
  {
    TAutoDriver<_IDispatchImplAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IDispatchImplAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IDispatchImplAttribute);
  }


};
typedef _IDispatchImplAttributeDispT<_IDispatchImplAttribute> _IDispatchImplAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComSourceInterfacesAttribute
// Interface: _ComSourceInterfacesAttribute
// *********************************************************************//
template <class T /* _ComSourceInterfacesAttribute */ >
class TCOM_ComSourceInterfacesAttributeT : public TComInterface<_ComSourceInterfacesAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComSourceInterfacesAttributeT() {}
  TCOM_ComSourceInterfacesAttributeT(_ComSourceInterfacesAttribute *intf, bool addRef = false) : TComInterface<_ComSourceInterfacesAttribute>(intf, addRef) {}
  TCOM_ComSourceInterfacesAttributeT(const TCOM_ComSourceInterfacesAttributeT& src) : TComInterface<_ComSourceInterfacesAttribute>(src) {}
  TCOM_ComSourceInterfacesAttributeT& operator=(const TCOM_ComSourceInterfacesAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComSourceInterfacesAttributeT<_ComSourceInterfacesAttribute> TCOM_ComSourceInterfacesAttribute;

// *********************************************************************//
// DispIntf:  _ComSourceInterfacesAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E1984175-55F5-3065-82D8-A683FDFCF0AC}
// *********************************************************************//
template<class T>
class _ComSourceInterfacesAttributeDispT : public TAutoDriver<_ComSourceInterfacesAttribute>
{
public:
  _ComSourceInterfacesAttributeDispT(){}

  _ComSourceInterfacesAttributeDispT(_ComSourceInterfacesAttribute *pintf)
  {
    TAutoDriver<_ComSourceInterfacesAttribute>::Bind(pintf, false);
  }

  _ComSourceInterfacesAttributeDispT(_ComSourceInterfacesAttributePtr pintf)
  {
    TAutoDriver<_ComSourceInterfacesAttribute>::Bind(pintf, true);
  }

  _ComSourceInterfacesAttributeDispT& operator=(_ComSourceInterfacesAttribute *pintf)
  {
    TAutoDriver<_ComSourceInterfacesAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComSourceInterfacesAttributeDispT& operator=(_ComSourceInterfacesAttributePtr pintf)
  {
    TAutoDriver<_ComSourceInterfacesAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComSourceInterfacesAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComSourceInterfacesAttribute);
  }


};
typedef _ComSourceInterfacesAttributeDispT<_ComSourceInterfacesAttribute> _ComSourceInterfacesAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComConversionLossAttribute
// Interface: _ComConversionLossAttribute
// *********************************************************************//
template <class T /* _ComConversionLossAttribute */ >
class TCOM_ComConversionLossAttributeT : public TComInterface<_ComConversionLossAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComConversionLossAttributeT() {}
  TCOM_ComConversionLossAttributeT(_ComConversionLossAttribute *intf, bool addRef = false) : TComInterface<_ComConversionLossAttribute>(intf, addRef) {}
  TCOM_ComConversionLossAttributeT(const TCOM_ComConversionLossAttributeT& src) : TComInterface<_ComConversionLossAttribute>(src) {}
  TCOM_ComConversionLossAttributeT& operator=(const TCOM_ComConversionLossAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComConversionLossAttributeT<_ComConversionLossAttribute> TCOM_ComConversionLossAttribute;

// *********************************************************************//
// DispIntf:  _ComConversionLossAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FD5B6AAC-FF8C-3472-B894-CD6DFADB6939}
// *********************************************************************//
template<class T>
class _ComConversionLossAttributeDispT : public TAutoDriver<_ComConversionLossAttribute>
{
public:
  _ComConversionLossAttributeDispT(){}

  _ComConversionLossAttributeDispT(_ComConversionLossAttribute *pintf)
  {
    TAutoDriver<_ComConversionLossAttribute>::Bind(pintf, false);
  }

  _ComConversionLossAttributeDispT(_ComConversionLossAttributePtr pintf)
  {
    TAutoDriver<_ComConversionLossAttribute>::Bind(pintf, true);
  }

  _ComConversionLossAttributeDispT& operator=(_ComConversionLossAttribute *pintf)
  {
    TAutoDriver<_ComConversionLossAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComConversionLossAttributeDispT& operator=(_ComConversionLossAttributePtr pintf)
  {
    TAutoDriver<_ComConversionLossAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComConversionLossAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComConversionLossAttribute);
  }


};
typedef _ComConversionLossAttributeDispT<_ComConversionLossAttribute> _ComConversionLossAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeLibTypeAttribute
// Interface: _TypeLibTypeAttribute
// *********************************************************************//
template <class T /* _TypeLibTypeAttribute */ >
class TCOM_TypeLibTypeAttributeT : public TComInterface<_TypeLibTypeAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeLibTypeAttributeT() {}
  TCOM_TypeLibTypeAttributeT(_TypeLibTypeAttribute *intf, bool addRef = false) : TComInterface<_TypeLibTypeAttribute>(intf, addRef) {}
  TCOM_TypeLibTypeAttributeT(const TCOM_TypeLibTypeAttributeT& src) : TComInterface<_TypeLibTypeAttribute>(src) {}
  TCOM_TypeLibTypeAttributeT& operator=(const TCOM_TypeLibTypeAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeLibTypeAttributeT<_TypeLibTypeAttribute> TCOM_TypeLibTypeAttribute;

// *********************************************************************//
// DispIntf:  _TypeLibTypeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B5A1729E-B721-3121-A838-FDE43AF13468}
// *********************************************************************//
template<class T>
class _TypeLibTypeAttributeDispT : public TAutoDriver<_TypeLibTypeAttribute>
{
public:
  _TypeLibTypeAttributeDispT(){}

  _TypeLibTypeAttributeDispT(_TypeLibTypeAttribute *pintf)
  {
    TAutoDriver<_TypeLibTypeAttribute>::Bind(pintf, false);
  }

  _TypeLibTypeAttributeDispT(_TypeLibTypeAttributePtr pintf)
  {
    TAutoDriver<_TypeLibTypeAttribute>::Bind(pintf, true);
  }

  _TypeLibTypeAttributeDispT& operator=(_TypeLibTypeAttribute *pintf)
  {
    TAutoDriver<_TypeLibTypeAttribute>::Bind(pintf, false);
    return *this;
  }

  _TypeLibTypeAttributeDispT& operator=(_TypeLibTypeAttributePtr pintf)
  {
    TAutoDriver<_TypeLibTypeAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeLibTypeAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeLibTypeAttribute);
  }


};
typedef _TypeLibTypeAttributeDispT<_TypeLibTypeAttribute> _TypeLibTypeAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeLibFuncAttribute
// Interface: _TypeLibFuncAttribute
// *********************************************************************//
template <class T /* _TypeLibFuncAttribute */ >
class TCOM_TypeLibFuncAttributeT : public TComInterface<_TypeLibFuncAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeLibFuncAttributeT() {}
  TCOM_TypeLibFuncAttributeT(_TypeLibFuncAttribute *intf, bool addRef = false) : TComInterface<_TypeLibFuncAttribute>(intf, addRef) {}
  TCOM_TypeLibFuncAttributeT(const TCOM_TypeLibFuncAttributeT& src) : TComInterface<_TypeLibFuncAttribute>(src) {}
  TCOM_TypeLibFuncAttributeT& operator=(const TCOM_TypeLibFuncAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeLibFuncAttributeT<_TypeLibFuncAttribute> TCOM_TypeLibFuncAttribute;

// *********************************************************************//
// DispIntf:  _TypeLibFuncAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3D18A8E2-EEDE-3139-B29D-8CAC057955DF}
// *********************************************************************//
template<class T>
class _TypeLibFuncAttributeDispT : public TAutoDriver<_TypeLibFuncAttribute>
{
public:
  _TypeLibFuncAttributeDispT(){}

  _TypeLibFuncAttributeDispT(_TypeLibFuncAttribute *pintf)
  {
    TAutoDriver<_TypeLibFuncAttribute>::Bind(pintf, false);
  }

  _TypeLibFuncAttributeDispT(_TypeLibFuncAttributePtr pintf)
  {
    TAutoDriver<_TypeLibFuncAttribute>::Bind(pintf, true);
  }

  _TypeLibFuncAttributeDispT& operator=(_TypeLibFuncAttribute *pintf)
  {
    TAutoDriver<_TypeLibFuncAttribute>::Bind(pintf, false);
    return *this;
  }

  _TypeLibFuncAttributeDispT& operator=(_TypeLibFuncAttributePtr pintf)
  {
    TAutoDriver<_TypeLibFuncAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeLibFuncAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeLibFuncAttribute);
  }


};
typedef _TypeLibFuncAttributeDispT<_TypeLibFuncAttribute> _TypeLibFuncAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeLibVarAttribute
// Interface: _TypeLibVarAttribute
// *********************************************************************//
template <class T /* _TypeLibVarAttribute */ >
class TCOM_TypeLibVarAttributeT : public TComInterface<_TypeLibVarAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeLibVarAttributeT() {}
  TCOM_TypeLibVarAttributeT(_TypeLibVarAttribute *intf, bool addRef = false) : TComInterface<_TypeLibVarAttribute>(intf, addRef) {}
  TCOM_TypeLibVarAttributeT(const TCOM_TypeLibVarAttributeT& src) : TComInterface<_TypeLibVarAttribute>(src) {}
  TCOM_TypeLibVarAttributeT& operator=(const TCOM_TypeLibVarAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeLibVarAttributeT<_TypeLibVarAttribute> TCOM_TypeLibVarAttribute;

// *********************************************************************//
// DispIntf:  _TypeLibVarAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7B89862A-02A4-3279-8B42-4095FA3A778E}
// *********************************************************************//
template<class T>
class _TypeLibVarAttributeDispT : public TAutoDriver<_TypeLibVarAttribute>
{
public:
  _TypeLibVarAttributeDispT(){}

  _TypeLibVarAttributeDispT(_TypeLibVarAttribute *pintf)
  {
    TAutoDriver<_TypeLibVarAttribute>::Bind(pintf, false);
  }

  _TypeLibVarAttributeDispT(_TypeLibVarAttributePtr pintf)
  {
    TAutoDriver<_TypeLibVarAttribute>::Bind(pintf, true);
  }

  _TypeLibVarAttributeDispT& operator=(_TypeLibVarAttribute *pintf)
  {
    TAutoDriver<_TypeLibVarAttribute>::Bind(pintf, false);
    return *this;
  }

  _TypeLibVarAttributeDispT& operator=(_TypeLibVarAttributePtr pintf)
  {
    TAutoDriver<_TypeLibVarAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeLibVarAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeLibVarAttribute);
  }


};
typedef _TypeLibVarAttributeDispT<_TypeLibVarAttribute> _TypeLibVarAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_MarshalAsAttribute
// Interface: _MarshalAsAttribute
// *********************************************************************//
template <class T /* _MarshalAsAttribute */ >
class TCOM_MarshalAsAttributeT : public TComInterface<_MarshalAsAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MarshalAsAttributeT() {}
  TCOM_MarshalAsAttributeT(_MarshalAsAttribute *intf, bool addRef = false) : TComInterface<_MarshalAsAttribute>(intf, addRef) {}
  TCOM_MarshalAsAttributeT(const TCOM_MarshalAsAttributeT& src) : TComInterface<_MarshalAsAttribute>(src) {}
  TCOM_MarshalAsAttributeT& operator=(const TCOM_MarshalAsAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MarshalAsAttributeT<_MarshalAsAttribute> TCOM_MarshalAsAttribute;

// *********************************************************************//
// DispIntf:  _MarshalAsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D858399F-E19E-3423-A720-AC12ABE2E5E8}
// *********************************************************************//
template<class T>
class _MarshalAsAttributeDispT : public TAutoDriver<_MarshalAsAttribute>
{
public:
  _MarshalAsAttributeDispT(){}

  _MarshalAsAttributeDispT(_MarshalAsAttribute *pintf)
  {
    TAutoDriver<_MarshalAsAttribute>::Bind(pintf, false);
  }

  _MarshalAsAttributeDispT(_MarshalAsAttributePtr pintf)
  {
    TAutoDriver<_MarshalAsAttribute>::Bind(pintf, true);
  }

  _MarshalAsAttributeDispT& operator=(_MarshalAsAttribute *pintf)
  {
    TAutoDriver<_MarshalAsAttribute>::Bind(pintf, false);
    return *this;
  }

  _MarshalAsAttributeDispT& operator=(_MarshalAsAttributePtr pintf)
  {
    TAutoDriver<_MarshalAsAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MarshalAsAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MarshalAsAttribute);
  }


};
typedef _MarshalAsAttributeDispT<_MarshalAsAttribute> _MarshalAsAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComImportAttribute
// Interface: _ComImportAttribute
// *********************************************************************//
template <class T /* _ComImportAttribute */ >
class TCOM_ComImportAttributeT : public TComInterface<_ComImportAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComImportAttributeT() {}
  TCOM_ComImportAttributeT(_ComImportAttribute *intf, bool addRef = false) : TComInterface<_ComImportAttribute>(intf, addRef) {}
  TCOM_ComImportAttributeT(const TCOM_ComImportAttributeT& src) : TComInterface<_ComImportAttribute>(src) {}
  TCOM_ComImportAttributeT& operator=(const TCOM_ComImportAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComImportAttributeT<_ComImportAttribute> TCOM_ComImportAttribute;

// *********************************************************************//
// DispIntf:  _ComImportAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1B093056-5454-386F-8971-BBCBC4E9A8F3}
// *********************************************************************//
template<class T>
class _ComImportAttributeDispT : public TAutoDriver<_ComImportAttribute>
{
public:
  _ComImportAttributeDispT(){}

  _ComImportAttributeDispT(_ComImportAttribute *pintf)
  {
    TAutoDriver<_ComImportAttribute>::Bind(pintf, false);
  }

  _ComImportAttributeDispT(_ComImportAttributePtr pintf)
  {
    TAutoDriver<_ComImportAttribute>::Bind(pintf, true);
  }

  _ComImportAttributeDispT& operator=(_ComImportAttribute *pintf)
  {
    TAutoDriver<_ComImportAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComImportAttributeDispT& operator=(_ComImportAttributePtr pintf)
  {
    TAutoDriver<_ComImportAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComImportAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComImportAttribute);
  }


};
typedef _ComImportAttributeDispT<_ComImportAttribute> _ComImportAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_GuidAttribute
// Interface: _GuidAttribute
// *********************************************************************//
template <class T /* _GuidAttribute */ >
class TCOM_GuidAttributeT : public TComInterface<_GuidAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GuidAttributeT() {}
  TCOM_GuidAttributeT(_GuidAttribute *intf, bool addRef = false) : TComInterface<_GuidAttribute>(intf, addRef) {}
  TCOM_GuidAttributeT(const TCOM_GuidAttributeT& src) : TComInterface<_GuidAttribute>(src) {}
  TCOM_GuidAttributeT& operator=(const TCOM_GuidAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GuidAttributeT<_GuidAttribute> TCOM_GuidAttribute;

// *********************************************************************//
// DispIntf:  _GuidAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {74435DAD-EC55-354B-8F5B-FA70D13B6293}
// *********************************************************************//
template<class T>
class _GuidAttributeDispT : public TAutoDriver<_GuidAttribute>
{
public:
  _GuidAttributeDispT(){}

  _GuidAttributeDispT(_GuidAttribute *pintf)
  {
    TAutoDriver<_GuidAttribute>::Bind(pintf, false);
  }

  _GuidAttributeDispT(_GuidAttributePtr pintf)
  {
    TAutoDriver<_GuidAttribute>::Bind(pintf, true);
  }

  _GuidAttributeDispT& operator=(_GuidAttribute *pintf)
  {
    TAutoDriver<_GuidAttribute>::Bind(pintf, false);
    return *this;
  }

  _GuidAttributeDispT& operator=(_GuidAttributePtr pintf)
  {
    TAutoDriver<_GuidAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GuidAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GuidAttribute);
  }


};
typedef _GuidAttributeDispT<_GuidAttribute> _GuidAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_PreserveSigAttribute
// Interface: _PreserveSigAttribute
// *********************************************************************//
template <class T /* _PreserveSigAttribute */ >
class TCOM_PreserveSigAttributeT : public TComInterface<_PreserveSigAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PreserveSigAttributeT() {}
  TCOM_PreserveSigAttributeT(_PreserveSigAttribute *intf, bool addRef = false) : TComInterface<_PreserveSigAttribute>(intf, addRef) {}
  TCOM_PreserveSigAttributeT(const TCOM_PreserveSigAttributeT& src) : TComInterface<_PreserveSigAttribute>(src) {}
  TCOM_PreserveSigAttributeT& operator=(const TCOM_PreserveSigAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PreserveSigAttributeT<_PreserveSigAttribute> TCOM_PreserveSigAttribute;

// *********************************************************************//
// DispIntf:  _PreserveSigAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FDF2A2EE-C882-3198-A48B-E37F0E574DFA}
// *********************************************************************//
template<class T>
class _PreserveSigAttributeDispT : public TAutoDriver<_PreserveSigAttribute>
{
public:
  _PreserveSigAttributeDispT(){}

  _PreserveSigAttributeDispT(_PreserveSigAttribute *pintf)
  {
    TAutoDriver<_PreserveSigAttribute>::Bind(pintf, false);
  }

  _PreserveSigAttributeDispT(_PreserveSigAttributePtr pintf)
  {
    TAutoDriver<_PreserveSigAttribute>::Bind(pintf, true);
  }

  _PreserveSigAttributeDispT& operator=(_PreserveSigAttribute *pintf)
  {
    TAutoDriver<_PreserveSigAttribute>::Bind(pintf, false);
    return *this;
  }

  _PreserveSigAttributeDispT& operator=(_PreserveSigAttributePtr pintf)
  {
    TAutoDriver<_PreserveSigAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PreserveSigAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PreserveSigAttribute);
  }


};
typedef _PreserveSigAttributeDispT<_PreserveSigAttribute> _PreserveSigAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_InAttribute
// Interface: _InAttribute
// *********************************************************************//
template <class T /* _InAttribute */ >
class TCOM_InAttributeT : public TComInterface<_InAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InAttributeT() {}
  TCOM_InAttributeT(_InAttribute *intf, bool addRef = false) : TComInterface<_InAttribute>(intf, addRef) {}
  TCOM_InAttributeT(const TCOM_InAttributeT& src) : TComInterface<_InAttribute>(src) {}
  TCOM_InAttributeT& operator=(const TCOM_InAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InAttributeT<_InAttribute> TCOM_InAttribute;

// *********************************************************************//
// DispIntf:  _InAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8474B65C-C39A-3D05-893D-577B9A314615}
// *********************************************************************//
template<class T>
class _InAttributeDispT : public TAutoDriver<_InAttribute>
{
public:
  _InAttributeDispT(){}

  _InAttributeDispT(_InAttribute *pintf)
  {
    TAutoDriver<_InAttribute>::Bind(pintf, false);
  }

  _InAttributeDispT(_InAttributePtr pintf)
  {
    TAutoDriver<_InAttribute>::Bind(pintf, true);
  }

  _InAttributeDispT& operator=(_InAttribute *pintf)
  {
    TAutoDriver<_InAttribute>::Bind(pintf, false);
    return *this;
  }

  _InAttributeDispT& operator=(_InAttributePtr pintf)
  {
    TAutoDriver<_InAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InAttribute);
  }


};
typedef _InAttributeDispT<_InAttribute> _InAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_OutAttribute
// Interface: _OutAttribute
// *********************************************************************//
template <class T /* _OutAttribute */ >
class TCOM_OutAttributeT : public TComInterface<_OutAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OutAttributeT() {}
  TCOM_OutAttributeT(_OutAttribute *intf, bool addRef = false) : TComInterface<_OutAttribute>(intf, addRef) {}
  TCOM_OutAttributeT(const TCOM_OutAttributeT& src) : TComInterface<_OutAttribute>(src) {}
  TCOM_OutAttributeT& operator=(const TCOM_OutAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OutAttributeT<_OutAttribute> TCOM_OutAttribute;

// *********************************************************************//
// DispIntf:  _OutAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0697FC8C-9B04-3783-95C7-45ECCAC1CA27}
// *********************************************************************//
template<class T>
class _OutAttributeDispT : public TAutoDriver<_OutAttribute>
{
public:
  _OutAttributeDispT(){}

  _OutAttributeDispT(_OutAttribute *pintf)
  {
    TAutoDriver<_OutAttribute>::Bind(pintf, false);
  }

  _OutAttributeDispT(_OutAttributePtr pintf)
  {
    TAutoDriver<_OutAttribute>::Bind(pintf, true);
  }

  _OutAttributeDispT& operator=(_OutAttribute *pintf)
  {
    TAutoDriver<_OutAttribute>::Bind(pintf, false);
    return *this;
  }

  _OutAttributeDispT& operator=(_OutAttributePtr pintf)
  {
    TAutoDriver<_OutAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OutAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OutAttribute);
  }


};
typedef _OutAttributeDispT<_OutAttribute> _OutAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_OptionalAttribute
// Interface: _OptionalAttribute
// *********************************************************************//
template <class T /* _OptionalAttribute */ >
class TCOM_OptionalAttributeT : public TComInterface<_OptionalAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OptionalAttributeT() {}
  TCOM_OptionalAttributeT(_OptionalAttribute *intf, bool addRef = false) : TComInterface<_OptionalAttribute>(intf, addRef) {}
  TCOM_OptionalAttributeT(const TCOM_OptionalAttributeT& src) : TComInterface<_OptionalAttribute>(src) {}
  TCOM_OptionalAttributeT& operator=(const TCOM_OptionalAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OptionalAttributeT<_OptionalAttribute> TCOM_OptionalAttribute;

// *********************************************************************//
// DispIntf:  _OptionalAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D6BD9AD-198E-3904-AD99-F6F82A2787C4}
// *********************************************************************//
template<class T>
class _OptionalAttributeDispT : public TAutoDriver<_OptionalAttribute>
{
public:
  _OptionalAttributeDispT(){}

  _OptionalAttributeDispT(_OptionalAttribute *pintf)
  {
    TAutoDriver<_OptionalAttribute>::Bind(pintf, false);
  }

  _OptionalAttributeDispT(_OptionalAttributePtr pintf)
  {
    TAutoDriver<_OptionalAttribute>::Bind(pintf, true);
  }

  _OptionalAttributeDispT& operator=(_OptionalAttribute *pintf)
  {
    TAutoDriver<_OptionalAttribute>::Bind(pintf, false);
    return *this;
  }

  _OptionalAttributeDispT& operator=(_OptionalAttributePtr pintf)
  {
    TAutoDriver<_OptionalAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OptionalAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OptionalAttribute);
  }


};
typedef _OptionalAttributeDispT<_OptionalAttribute> _OptionalAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DllImportAttribute
// Interface: _DllImportAttribute
// *********************************************************************//
template <class T /* _DllImportAttribute */ >
class TCOM_DllImportAttributeT : public TComInterface<_DllImportAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DllImportAttributeT() {}
  TCOM_DllImportAttributeT(_DllImportAttribute *intf, bool addRef = false) : TComInterface<_DllImportAttribute>(intf, addRef) {}
  TCOM_DllImportAttributeT(const TCOM_DllImportAttributeT& src) : TComInterface<_DllImportAttribute>(src) {}
  TCOM_DllImportAttributeT& operator=(const TCOM_DllImportAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DllImportAttributeT<_DllImportAttribute> TCOM_DllImportAttribute;

// *********************************************************************//
// DispIntf:  _DllImportAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1A26181-D55E-3EE2-96E6-70B354EF9371}
// *********************************************************************//
template<class T>
class _DllImportAttributeDispT : public TAutoDriver<_DllImportAttribute>
{
public:
  _DllImportAttributeDispT(){}

  _DllImportAttributeDispT(_DllImportAttribute *pintf)
  {
    TAutoDriver<_DllImportAttribute>::Bind(pintf, false);
  }

  _DllImportAttributeDispT(_DllImportAttributePtr pintf)
  {
    TAutoDriver<_DllImportAttribute>::Bind(pintf, true);
  }

  _DllImportAttributeDispT& operator=(_DllImportAttribute *pintf)
  {
    TAutoDriver<_DllImportAttribute>::Bind(pintf, false);
    return *this;
  }

  _DllImportAttributeDispT& operator=(_DllImportAttributePtr pintf)
  {
    TAutoDriver<_DllImportAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DllImportAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DllImportAttribute);
  }


};
typedef _DllImportAttributeDispT<_DllImportAttribute> _DllImportAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_StructLayoutAttribute
// Interface: _StructLayoutAttribute
// *********************************************************************//
template <class T /* _StructLayoutAttribute */ >
class TCOM_StructLayoutAttributeT : public TComInterface<_StructLayoutAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StructLayoutAttributeT() {}
  TCOM_StructLayoutAttributeT(_StructLayoutAttribute *intf, bool addRef = false) : TComInterface<_StructLayoutAttribute>(intf, addRef) {}
  TCOM_StructLayoutAttributeT(const TCOM_StructLayoutAttributeT& src) : TComInterface<_StructLayoutAttribute>(src) {}
  TCOM_StructLayoutAttributeT& operator=(const TCOM_StructLayoutAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StructLayoutAttributeT<_StructLayoutAttribute> TCOM_StructLayoutAttribute;

// *********************************************************************//
// DispIntf:  _StructLayoutAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {23753322-C7B3-3F9A-AC96-52672C1B1CA9}
// *********************************************************************//
template<class T>
class _StructLayoutAttributeDispT : public TAutoDriver<_StructLayoutAttribute>
{
public:
  _StructLayoutAttributeDispT(){}

  _StructLayoutAttributeDispT(_StructLayoutAttribute *pintf)
  {
    TAutoDriver<_StructLayoutAttribute>::Bind(pintf, false);
  }

  _StructLayoutAttributeDispT(_StructLayoutAttributePtr pintf)
  {
    TAutoDriver<_StructLayoutAttribute>::Bind(pintf, true);
  }

  _StructLayoutAttributeDispT& operator=(_StructLayoutAttribute *pintf)
  {
    TAutoDriver<_StructLayoutAttribute>::Bind(pintf, false);
    return *this;
  }

  _StructLayoutAttributeDispT& operator=(_StructLayoutAttributePtr pintf)
  {
    TAutoDriver<_StructLayoutAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StructLayoutAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StructLayoutAttribute);
  }


};
typedef _StructLayoutAttributeDispT<_StructLayoutAttribute> _StructLayoutAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_FieldOffsetAttribute
// Interface: _FieldOffsetAttribute
// *********************************************************************//
template <class T /* _FieldOffsetAttribute */ >
class TCOM_FieldOffsetAttributeT : public TComInterface<_FieldOffsetAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FieldOffsetAttributeT() {}
  TCOM_FieldOffsetAttributeT(_FieldOffsetAttribute *intf, bool addRef = false) : TComInterface<_FieldOffsetAttribute>(intf, addRef) {}
  TCOM_FieldOffsetAttributeT(const TCOM_FieldOffsetAttributeT& src) : TComInterface<_FieldOffsetAttribute>(src) {}
  TCOM_FieldOffsetAttributeT& operator=(const TCOM_FieldOffsetAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FieldOffsetAttributeT<_FieldOffsetAttribute> TCOM_FieldOffsetAttribute;

// *********************************************************************//
// DispIntf:  _FieldOffsetAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C14342B8-BAFD-322A-BB71-62C672DA284E}
// *********************************************************************//
template<class T>
class _FieldOffsetAttributeDispT : public TAutoDriver<_FieldOffsetAttribute>
{
public:
  _FieldOffsetAttributeDispT(){}

  _FieldOffsetAttributeDispT(_FieldOffsetAttribute *pintf)
  {
    TAutoDriver<_FieldOffsetAttribute>::Bind(pintf, false);
  }

  _FieldOffsetAttributeDispT(_FieldOffsetAttributePtr pintf)
  {
    TAutoDriver<_FieldOffsetAttribute>::Bind(pintf, true);
  }

  _FieldOffsetAttributeDispT& operator=(_FieldOffsetAttribute *pintf)
  {
    TAutoDriver<_FieldOffsetAttribute>::Bind(pintf, false);
    return *this;
  }

  _FieldOffsetAttributeDispT& operator=(_FieldOffsetAttributePtr pintf)
  {
    TAutoDriver<_FieldOffsetAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FieldOffsetAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FieldOffsetAttribute);
  }


};
typedef _FieldOffsetAttributeDispT<_FieldOffsetAttribute> _FieldOffsetAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComAliasNameAttribute
// Interface: _ComAliasNameAttribute
// *********************************************************************//
template <class T /* _ComAliasNameAttribute */ >
class TCOM_ComAliasNameAttributeT : public TComInterface<_ComAliasNameAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComAliasNameAttributeT() {}
  TCOM_ComAliasNameAttributeT(_ComAliasNameAttribute *intf, bool addRef = false) : TComInterface<_ComAliasNameAttribute>(intf, addRef) {}
  TCOM_ComAliasNameAttributeT(const TCOM_ComAliasNameAttributeT& src) : TComInterface<_ComAliasNameAttribute>(src) {}
  TCOM_ComAliasNameAttributeT& operator=(const TCOM_ComAliasNameAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComAliasNameAttributeT<_ComAliasNameAttribute> TCOM_ComAliasNameAttribute;

// *********************************************************************//
// DispIntf:  _ComAliasNameAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E78785C4-3A73-3C15-9390-618BF3A14719}
// *********************************************************************//
template<class T>
class _ComAliasNameAttributeDispT : public TAutoDriver<_ComAliasNameAttribute>
{
public:
  _ComAliasNameAttributeDispT(){}

  _ComAliasNameAttributeDispT(_ComAliasNameAttribute *pintf)
  {
    TAutoDriver<_ComAliasNameAttribute>::Bind(pintf, false);
  }

  _ComAliasNameAttributeDispT(_ComAliasNameAttributePtr pintf)
  {
    TAutoDriver<_ComAliasNameAttribute>::Bind(pintf, true);
  }

  _ComAliasNameAttributeDispT& operator=(_ComAliasNameAttribute *pintf)
  {
    TAutoDriver<_ComAliasNameAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComAliasNameAttributeDispT& operator=(_ComAliasNameAttributePtr pintf)
  {
    TAutoDriver<_ComAliasNameAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComAliasNameAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComAliasNameAttribute);
  }


};
typedef _ComAliasNameAttributeDispT<_ComAliasNameAttribute> _ComAliasNameAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AutomationProxyAttribute
// Interface: _AutomationProxyAttribute
// *********************************************************************//
template <class T /* _AutomationProxyAttribute */ >
class TCOM_AutomationProxyAttributeT : public TComInterface<_AutomationProxyAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AutomationProxyAttributeT() {}
  TCOM_AutomationProxyAttributeT(_AutomationProxyAttribute *intf, bool addRef = false) : TComInterface<_AutomationProxyAttribute>(intf, addRef) {}
  TCOM_AutomationProxyAttributeT(const TCOM_AutomationProxyAttributeT& src) : TComInterface<_AutomationProxyAttribute>(src) {}
  TCOM_AutomationProxyAttributeT& operator=(const TCOM_AutomationProxyAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AutomationProxyAttributeT<_AutomationProxyAttribute> TCOM_AutomationProxyAttribute;

// *********************************************************************//
// DispIntf:  _AutomationProxyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {57B908A8-C082-3581-8A47-6B41B86E8FDC}
// *********************************************************************//
template<class T>
class _AutomationProxyAttributeDispT : public TAutoDriver<_AutomationProxyAttribute>
{
public:
  _AutomationProxyAttributeDispT(){}

  _AutomationProxyAttributeDispT(_AutomationProxyAttribute *pintf)
  {
    TAutoDriver<_AutomationProxyAttribute>::Bind(pintf, false);
  }

  _AutomationProxyAttributeDispT(_AutomationProxyAttributePtr pintf)
  {
    TAutoDriver<_AutomationProxyAttribute>::Bind(pintf, true);
  }

  _AutomationProxyAttributeDispT& operator=(_AutomationProxyAttribute *pintf)
  {
    TAutoDriver<_AutomationProxyAttribute>::Bind(pintf, false);
    return *this;
  }

  _AutomationProxyAttributeDispT& operator=(_AutomationProxyAttributePtr pintf)
  {
    TAutoDriver<_AutomationProxyAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AutomationProxyAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AutomationProxyAttribute);
  }


};
typedef _AutomationProxyAttributeDispT<_AutomationProxyAttribute> _AutomationProxyAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_PrimaryInteropAssemblyAttribute
// Interface: _PrimaryInteropAssemblyAttribute
// *********************************************************************//
template <class T /* _PrimaryInteropAssemblyAttribute */ >
class TCOM_PrimaryInteropAssemblyAttributeT : public TComInterface<_PrimaryInteropAssemblyAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PrimaryInteropAssemblyAttributeT() {}
  TCOM_PrimaryInteropAssemblyAttributeT(_PrimaryInteropAssemblyAttribute *intf, bool addRef = false) : TComInterface<_PrimaryInteropAssemblyAttribute>(intf, addRef) {}
  TCOM_PrimaryInteropAssemblyAttributeT(const TCOM_PrimaryInteropAssemblyAttributeT& src) : TComInterface<_PrimaryInteropAssemblyAttribute>(src) {}
  TCOM_PrimaryInteropAssemblyAttributeT& operator=(const TCOM_PrimaryInteropAssemblyAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PrimaryInteropAssemblyAttributeT<_PrimaryInteropAssemblyAttribute> TCOM_PrimaryInteropAssemblyAttribute;

// *********************************************************************//
// DispIntf:  _PrimaryInteropAssemblyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C69E96B2-6161-3621-B165-5805198C6B8D}
// *********************************************************************//
template<class T>
class _PrimaryInteropAssemblyAttributeDispT : public TAutoDriver<_PrimaryInteropAssemblyAttribute>
{
public:
  _PrimaryInteropAssemblyAttributeDispT(){}

  _PrimaryInteropAssemblyAttributeDispT(_PrimaryInteropAssemblyAttribute *pintf)
  {
    TAutoDriver<_PrimaryInteropAssemblyAttribute>::Bind(pintf, false);
  }

  _PrimaryInteropAssemblyAttributeDispT(_PrimaryInteropAssemblyAttributePtr pintf)
  {
    TAutoDriver<_PrimaryInteropAssemblyAttribute>::Bind(pintf, true);
  }

  _PrimaryInteropAssemblyAttributeDispT& operator=(_PrimaryInteropAssemblyAttribute *pintf)
  {
    TAutoDriver<_PrimaryInteropAssemblyAttribute>::Bind(pintf, false);
    return *this;
  }

  _PrimaryInteropAssemblyAttributeDispT& operator=(_PrimaryInteropAssemblyAttributePtr pintf)
  {
    TAutoDriver<_PrimaryInteropAssemblyAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PrimaryInteropAssemblyAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PrimaryInteropAssemblyAttribute);
  }


};
typedef _PrimaryInteropAssemblyAttributeDispT<_PrimaryInteropAssemblyAttribute> _PrimaryInteropAssemblyAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_CoClassAttribute
// Interface: _CoClassAttribute
// *********************************************************************//
template <class T /* _CoClassAttribute */ >
class TCOM_CoClassAttributeT : public TComInterface<_CoClassAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CoClassAttributeT() {}
  TCOM_CoClassAttributeT(_CoClassAttribute *intf, bool addRef = false) : TComInterface<_CoClassAttribute>(intf, addRef) {}
  TCOM_CoClassAttributeT(const TCOM_CoClassAttributeT& src) : TComInterface<_CoClassAttribute>(src) {}
  TCOM_CoClassAttributeT& operator=(const TCOM_CoClassAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CoClassAttributeT<_CoClassAttribute> TCOM_CoClassAttribute;

// *********************************************************************//
// DispIntf:  _CoClassAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {15D54C00-7C95-38D7-B859-E19346677DCD}
// *********************************************************************//
template<class T>
class _CoClassAttributeDispT : public TAutoDriver<_CoClassAttribute>
{
public:
  _CoClassAttributeDispT(){}

  _CoClassAttributeDispT(_CoClassAttribute *pintf)
  {
    TAutoDriver<_CoClassAttribute>::Bind(pintf, false);
  }

  _CoClassAttributeDispT(_CoClassAttributePtr pintf)
  {
    TAutoDriver<_CoClassAttribute>::Bind(pintf, true);
  }

  _CoClassAttributeDispT& operator=(_CoClassAttribute *pintf)
  {
    TAutoDriver<_CoClassAttribute>::Bind(pintf, false);
    return *this;
  }

  _CoClassAttributeDispT& operator=(_CoClassAttributePtr pintf)
  {
    TAutoDriver<_CoClassAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CoClassAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CoClassAttribute);
  }


};
typedef _CoClassAttributeDispT<_CoClassAttribute> _CoClassAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComEventInterfaceAttribute
// Interface: _ComEventInterfaceAttribute
// *********************************************************************//
template <class T /* _ComEventInterfaceAttribute */ >
class TCOM_ComEventInterfaceAttributeT : public TComInterface<_ComEventInterfaceAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComEventInterfaceAttributeT() {}
  TCOM_ComEventInterfaceAttributeT(_ComEventInterfaceAttribute *intf, bool addRef = false) : TComInterface<_ComEventInterfaceAttribute>(intf, addRef) {}
  TCOM_ComEventInterfaceAttributeT(const TCOM_ComEventInterfaceAttributeT& src) : TComInterface<_ComEventInterfaceAttribute>(src) {}
  TCOM_ComEventInterfaceAttributeT& operator=(const TCOM_ComEventInterfaceAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComEventInterfaceAttributeT<_ComEventInterfaceAttribute> TCOM_ComEventInterfaceAttribute;

// *********************************************************************//
// DispIntf:  _ComEventInterfaceAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {76CC0491-9A10-35C0-8A66-7931EC345B7F}
// *********************************************************************//
template<class T>
class _ComEventInterfaceAttributeDispT : public TAutoDriver<_ComEventInterfaceAttribute>
{
public:
  _ComEventInterfaceAttributeDispT(){}

  _ComEventInterfaceAttributeDispT(_ComEventInterfaceAttribute *pintf)
  {
    TAutoDriver<_ComEventInterfaceAttribute>::Bind(pintf, false);
  }

  _ComEventInterfaceAttributeDispT(_ComEventInterfaceAttributePtr pintf)
  {
    TAutoDriver<_ComEventInterfaceAttribute>::Bind(pintf, true);
  }

  _ComEventInterfaceAttributeDispT& operator=(_ComEventInterfaceAttribute *pintf)
  {
    TAutoDriver<_ComEventInterfaceAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComEventInterfaceAttributeDispT& operator=(_ComEventInterfaceAttributePtr pintf)
  {
    TAutoDriver<_ComEventInterfaceAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComEventInterfaceAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComEventInterfaceAttribute);
  }


};
typedef _ComEventInterfaceAttributeDispT<_ComEventInterfaceAttribute> _ComEventInterfaceAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeLibVersionAttribute
// Interface: _TypeLibVersionAttribute
// *********************************************************************//
template <class T /* _TypeLibVersionAttribute */ >
class TCOM_TypeLibVersionAttributeT : public TComInterface<_TypeLibVersionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeLibVersionAttributeT() {}
  TCOM_TypeLibVersionAttributeT(_TypeLibVersionAttribute *intf, bool addRef = false) : TComInterface<_TypeLibVersionAttribute>(intf, addRef) {}
  TCOM_TypeLibVersionAttributeT(const TCOM_TypeLibVersionAttributeT& src) : TComInterface<_TypeLibVersionAttribute>(src) {}
  TCOM_TypeLibVersionAttributeT& operator=(const TCOM_TypeLibVersionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeLibVersionAttributeT<_TypeLibVersionAttribute> TCOM_TypeLibVersionAttribute;

// *********************************************************************//
// DispIntf:  _TypeLibVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A03B61A4-CA61-3460-8232-2F4EC96AA88F}
// *********************************************************************//
template<class T>
class _TypeLibVersionAttributeDispT : public TAutoDriver<_TypeLibVersionAttribute>
{
public:
  _TypeLibVersionAttributeDispT(){}

  _TypeLibVersionAttributeDispT(_TypeLibVersionAttribute *pintf)
  {
    TAutoDriver<_TypeLibVersionAttribute>::Bind(pintf, false);
  }

  _TypeLibVersionAttributeDispT(_TypeLibVersionAttributePtr pintf)
  {
    TAutoDriver<_TypeLibVersionAttribute>::Bind(pintf, true);
  }

  _TypeLibVersionAttributeDispT& operator=(_TypeLibVersionAttribute *pintf)
  {
    TAutoDriver<_TypeLibVersionAttribute>::Bind(pintf, false);
    return *this;
  }

  _TypeLibVersionAttributeDispT& operator=(_TypeLibVersionAttributePtr pintf)
  {
    TAutoDriver<_TypeLibVersionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeLibVersionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeLibVersionAttribute);
  }


};
typedef _TypeLibVersionAttributeDispT<_TypeLibVersionAttribute> _TypeLibVersionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ComCompatibleVersionAttribute
// Interface: _ComCompatibleVersionAttribute
// *********************************************************************//
template <class T /* _ComCompatibleVersionAttribute */ >
class TCOM_ComCompatibleVersionAttributeT : public TComInterface<_ComCompatibleVersionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ComCompatibleVersionAttributeT() {}
  TCOM_ComCompatibleVersionAttributeT(_ComCompatibleVersionAttribute *intf, bool addRef = false) : TComInterface<_ComCompatibleVersionAttribute>(intf, addRef) {}
  TCOM_ComCompatibleVersionAttributeT(const TCOM_ComCompatibleVersionAttributeT& src) : TComInterface<_ComCompatibleVersionAttribute>(src) {}
  TCOM_ComCompatibleVersionAttributeT& operator=(const TCOM_ComCompatibleVersionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ComCompatibleVersionAttributeT<_ComCompatibleVersionAttribute> TCOM_ComCompatibleVersionAttribute;

// *********************************************************************//
// DispIntf:  _ComCompatibleVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AD419379-2AC8-3588-AB1E-0115413277C4}
// *********************************************************************//
template<class T>
class _ComCompatibleVersionAttributeDispT : public TAutoDriver<_ComCompatibleVersionAttribute>
{
public:
  _ComCompatibleVersionAttributeDispT(){}

  _ComCompatibleVersionAttributeDispT(_ComCompatibleVersionAttribute *pintf)
  {
    TAutoDriver<_ComCompatibleVersionAttribute>::Bind(pintf, false);
  }

  _ComCompatibleVersionAttributeDispT(_ComCompatibleVersionAttributePtr pintf)
  {
    TAutoDriver<_ComCompatibleVersionAttribute>::Bind(pintf, true);
  }

  _ComCompatibleVersionAttributeDispT& operator=(_ComCompatibleVersionAttribute *pintf)
  {
    TAutoDriver<_ComCompatibleVersionAttribute>::Bind(pintf, false);
    return *this;
  }

  _ComCompatibleVersionAttributeDispT& operator=(_ComCompatibleVersionAttributePtr pintf)
  {
    TAutoDriver<_ComCompatibleVersionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ComCompatibleVersionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ComCompatibleVersionAttribute);
  }


};
typedef _ComCompatibleVersionAttributeDispT<_ComCompatibleVersionAttribute> _ComCompatibleVersionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_BestFitMappingAttribute
// Interface: _BestFitMappingAttribute
// *********************************************************************//
template <class T /* _BestFitMappingAttribute */ >
class TCOM_BestFitMappingAttributeT : public TComInterface<_BestFitMappingAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BestFitMappingAttributeT() {}
  TCOM_BestFitMappingAttributeT(_BestFitMappingAttribute *intf, bool addRef = false) : TComInterface<_BestFitMappingAttribute>(intf, addRef) {}
  TCOM_BestFitMappingAttributeT(const TCOM_BestFitMappingAttributeT& src) : TComInterface<_BestFitMappingAttribute>(src) {}
  TCOM_BestFitMappingAttributeT& operator=(const TCOM_BestFitMappingAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BestFitMappingAttributeT<_BestFitMappingAttribute> TCOM_BestFitMappingAttribute;

// *********************************************************************//
// DispIntf:  _BestFitMappingAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ED47ABE7-C84B-39F9-BE1B-828CFB925AFE}
// *********************************************************************//
template<class T>
class _BestFitMappingAttributeDispT : public TAutoDriver<_BestFitMappingAttribute>
{
public:
  _BestFitMappingAttributeDispT(){}

  _BestFitMappingAttributeDispT(_BestFitMappingAttribute *pintf)
  {
    TAutoDriver<_BestFitMappingAttribute>::Bind(pintf, false);
  }

  _BestFitMappingAttributeDispT(_BestFitMappingAttributePtr pintf)
  {
    TAutoDriver<_BestFitMappingAttribute>::Bind(pintf, true);
  }

  _BestFitMappingAttributeDispT& operator=(_BestFitMappingAttribute *pintf)
  {
    TAutoDriver<_BestFitMappingAttribute>::Bind(pintf, false);
    return *this;
  }

  _BestFitMappingAttributeDispT& operator=(_BestFitMappingAttributePtr pintf)
  {
    TAutoDriver<_BestFitMappingAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BestFitMappingAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BestFitMappingAttribute);
  }


};
typedef _BestFitMappingAttributeDispT<_BestFitMappingAttribute> _BestFitMappingAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DefaultCharSetAttribute
// Interface: _DefaultCharSetAttribute
// *********************************************************************//
template <class T /* _DefaultCharSetAttribute */ >
class TCOM_DefaultCharSetAttributeT : public TComInterface<_DefaultCharSetAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DefaultCharSetAttributeT() {}
  TCOM_DefaultCharSetAttributeT(_DefaultCharSetAttribute *intf, bool addRef = false) : TComInterface<_DefaultCharSetAttribute>(intf, addRef) {}
  TCOM_DefaultCharSetAttributeT(const TCOM_DefaultCharSetAttributeT& src) : TComInterface<_DefaultCharSetAttribute>(src) {}
  TCOM_DefaultCharSetAttributeT& operator=(const TCOM_DefaultCharSetAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DefaultCharSetAttributeT<_DefaultCharSetAttribute> TCOM_DefaultCharSetAttribute;

// *********************************************************************//
// DispIntf:  _DefaultCharSetAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B26B3465-28E4-33B5-B9BF-DD7C4F6461F5}
// *********************************************************************//
template<class T>
class _DefaultCharSetAttributeDispT : public TAutoDriver<_DefaultCharSetAttribute>
{
public:
  _DefaultCharSetAttributeDispT(){}

  _DefaultCharSetAttributeDispT(_DefaultCharSetAttribute *pintf)
  {
    TAutoDriver<_DefaultCharSetAttribute>::Bind(pintf, false);
  }

  _DefaultCharSetAttributeDispT(_DefaultCharSetAttributePtr pintf)
  {
    TAutoDriver<_DefaultCharSetAttribute>::Bind(pintf, true);
  }

  _DefaultCharSetAttributeDispT& operator=(_DefaultCharSetAttribute *pintf)
  {
    TAutoDriver<_DefaultCharSetAttribute>::Bind(pintf, false);
    return *this;
  }

  _DefaultCharSetAttributeDispT& operator=(_DefaultCharSetAttributePtr pintf)
  {
    TAutoDriver<_DefaultCharSetAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DefaultCharSetAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DefaultCharSetAttribute);
  }


};
typedef _DefaultCharSetAttributeDispT<_DefaultCharSetAttribute> _DefaultCharSetAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SetWin32ContextInIDispatchAttribute
// Interface: _SetWin32ContextInIDispatchAttribute
// *********************************************************************//
template <class T /* _SetWin32ContextInIDispatchAttribute */ >
class TCOM_SetWin32ContextInIDispatchAttributeT : public TComInterface<_SetWin32ContextInIDispatchAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SetWin32ContextInIDispatchAttributeT() {}
  TCOM_SetWin32ContextInIDispatchAttributeT(_SetWin32ContextInIDispatchAttribute *intf, bool addRef = false) : TComInterface<_SetWin32ContextInIDispatchAttribute>(intf, addRef) {}
  TCOM_SetWin32ContextInIDispatchAttributeT(const TCOM_SetWin32ContextInIDispatchAttributeT& src) : TComInterface<_SetWin32ContextInIDispatchAttribute>(src) {}
  TCOM_SetWin32ContextInIDispatchAttributeT& operator=(const TCOM_SetWin32ContextInIDispatchAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SetWin32ContextInIDispatchAttributeT<_SetWin32ContextInIDispatchAttribute> TCOM_SetWin32ContextInIDispatchAttribute;

// *********************************************************************//
// DispIntf:  _SetWin32ContextInIDispatchAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A54AC093-BFCE-37B0-A81F-148DFED0971F}
// *********************************************************************//
template<class T>
class _SetWin32ContextInIDispatchAttributeDispT : public TAutoDriver<_SetWin32ContextInIDispatchAttribute>
{
public:
  _SetWin32ContextInIDispatchAttributeDispT(){}

  _SetWin32ContextInIDispatchAttributeDispT(_SetWin32ContextInIDispatchAttribute *pintf)
  {
    TAutoDriver<_SetWin32ContextInIDispatchAttribute>::Bind(pintf, false);
  }

  _SetWin32ContextInIDispatchAttributeDispT(_SetWin32ContextInIDispatchAttributePtr pintf)
  {
    TAutoDriver<_SetWin32ContextInIDispatchAttribute>::Bind(pintf, true);
  }

  _SetWin32ContextInIDispatchAttributeDispT& operator=(_SetWin32ContextInIDispatchAttribute *pintf)
  {
    TAutoDriver<_SetWin32ContextInIDispatchAttribute>::Bind(pintf, false);
    return *this;
  }

  _SetWin32ContextInIDispatchAttributeDispT& operator=(_SetWin32ContextInIDispatchAttributePtr pintf)
  {
    TAutoDriver<_SetWin32ContextInIDispatchAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SetWin32ContextInIDispatchAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SetWin32ContextInIDispatchAttribute);
  }


};
typedef _SetWin32ContextInIDispatchAttributeDispT<_SetWin32ContextInIDispatchAttribute> _SetWin32ContextInIDispatchAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ExternalException
// Interface: _ExternalException
// *********************************************************************//
template <class T /* _ExternalException */ >
class TCOM_ExternalExceptionT : public TComInterface<_ExternalException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ExternalExceptionT() {}
  TCOM_ExternalExceptionT(_ExternalException *intf, bool addRef = false) : TComInterface<_ExternalException>(intf, addRef) {}
  TCOM_ExternalExceptionT(const TCOM_ExternalExceptionT& src) : TComInterface<_ExternalException>(src) {}
  TCOM_ExternalExceptionT& operator=(const TCOM_ExternalExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ExternalExceptionT<_ExternalException> TCOM_ExternalException;

// *********************************************************************//
// DispIntf:  _ExternalException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A83F04E9-FD28-384A-9DFF-410688AC23AB}
// *********************************************************************//
template<class T>
class _ExternalExceptionDispT : public TAutoDriver<_ExternalException>
{
public:
  _ExternalExceptionDispT(){}

  _ExternalExceptionDispT(_ExternalException *pintf)
  {
    TAutoDriver<_ExternalException>::Bind(pintf, false);
  }

  _ExternalExceptionDispT(_ExternalExceptionPtr pintf)
  {
    TAutoDriver<_ExternalException>::Bind(pintf, true);
  }

  _ExternalExceptionDispT& operator=(_ExternalException *pintf)
  {
    TAutoDriver<_ExternalException>::Bind(pintf, false);
    return *this;
  }

  _ExternalExceptionDispT& operator=(_ExternalExceptionPtr pintf)
  {
    TAutoDriver<_ExternalException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ExternalException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ExternalException);
  }


};
typedef _ExternalExceptionDispT<_ExternalException> _ExternalExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_COMException
// Interface: _COMException
// *********************************************************************//
template <class T /* _COMException */ >
class TCOM_COMExceptionT : public TComInterface<_COMException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_COMExceptionT() {}
  TCOM_COMExceptionT(_COMException *intf, bool addRef = false) : TComInterface<_COMException>(intf, addRef) {}
  TCOM_COMExceptionT(const TCOM_COMExceptionT& src) : TComInterface<_COMException>(src) {}
  TCOM_COMExceptionT& operator=(const TCOM_COMExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_COMExceptionT<_COMException> TCOM_COMException;

// *********************************************************************//
// DispIntf:  _COMException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A28C19DF-B488-34AE-BECC-7DE744D17F7B}
// *********************************************************************//
template<class T>
class _COMExceptionDispT : public TAutoDriver<_COMException>
{
public:
  _COMExceptionDispT(){}

  _COMExceptionDispT(_COMException *pintf)
  {
    TAutoDriver<_COMException>::Bind(pintf, false);
  }

  _COMExceptionDispT(_COMExceptionPtr pintf)
  {
    TAutoDriver<_COMException>::Bind(pintf, true);
  }

  _COMExceptionDispT& operator=(_COMException *pintf)
  {
    TAutoDriver<_COMException>::Bind(pintf, false);
    return *this;
  }

  _COMExceptionDispT& operator=(_COMExceptionPtr pintf)
  {
    TAutoDriver<_COMException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_COMException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_COMException);
  }


};
typedef _COMExceptionDispT<_COMException> _COMExceptionDisp;

typedef TComInterface<ICustomMarshaler>  TCOMICustomMarshaler;

// *********************************************************************//
// DispIntf:  ICustomMarshaler
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {601CD486-04BF-3213-9EA9-06EBE4351D74}
// *********************************************************************//
template<class T>
class ICustomMarshalerDispT : public TAutoDriver<ICustomMarshaler>
{
public:
  ICustomMarshalerDispT(){}

  ICustomMarshalerDispT(ICustomMarshaler *pintf)
  {
    TAutoDriver<ICustomMarshaler>::Bind(pintf, false);
  }

  ICustomMarshalerDispT(ICustomMarshalerPtr pintf)
  {
    TAutoDriver<ICustomMarshaler>::Bind(pintf, true);
  }

  ICustomMarshalerDispT& operator=(ICustomMarshaler *pintf)
  {
    TAutoDriver<ICustomMarshaler>::Bind(pintf, false);
    return *this;
  }

  ICustomMarshalerDispT& operator=(ICustomMarshalerPtr pintf)
  {
    TAutoDriver<ICustomMarshaler>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall MarshalNativeToManaged(long pNativeData/*[in]*/, 
                                                    TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall MarshalNativeToManaged(long pNativeData/*[in]*/);
  HRESULT         __fastcall MarshalManagedToNative(TVariantInParam ManagedObj/*[in]*/, 
                                                    long* pRetVal/*[out,retval]*/);
  long            __fastcall MarshalManagedToNative(TVariantInParam ManagedObj/*[in]*/);
  HRESULT         __fastcall CleanUpNativeData(long pNativeData/*[in]*/);
  HRESULT         __fastcall CleanUpManagedData(TVariantInParam ManagedObj/*[in]*/);
  HRESULT         __fastcall GetNativeDataSize(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetNativeDataSize(void);

};
typedef ICustomMarshalerDispT<ICustomMarshaler> ICustomMarshalerDisp;

// *********************************************************************//
// SmartIntf: TCOM_InvalidOleVariantTypeException
// Interface: _InvalidOleVariantTypeException
// *********************************************************************//
template <class T /* _InvalidOleVariantTypeException */ >
class TCOM_InvalidOleVariantTypeExceptionT : public TComInterface<_InvalidOleVariantTypeException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InvalidOleVariantTypeExceptionT() {}
  TCOM_InvalidOleVariantTypeExceptionT(_InvalidOleVariantTypeException *intf, bool addRef = false) : TComInterface<_InvalidOleVariantTypeException>(intf, addRef) {}
  TCOM_InvalidOleVariantTypeExceptionT(const TCOM_InvalidOleVariantTypeExceptionT& src) : TComInterface<_InvalidOleVariantTypeException>(src) {}
  TCOM_InvalidOleVariantTypeExceptionT& operator=(const TCOM_InvalidOleVariantTypeExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InvalidOleVariantTypeExceptionT<_InvalidOleVariantTypeException> TCOM_InvalidOleVariantTypeException;

// *********************************************************************//
// DispIntf:  _InvalidOleVariantTypeException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {76E5DBD6-F960-3C65-8EA6-FC8AD6A67022}
// *********************************************************************//
template<class T>
class _InvalidOleVariantTypeExceptionDispT : public TAutoDriver<_InvalidOleVariantTypeException>
{
public:
  _InvalidOleVariantTypeExceptionDispT(){}

  _InvalidOleVariantTypeExceptionDispT(_InvalidOleVariantTypeException *pintf)
  {
    TAutoDriver<_InvalidOleVariantTypeException>::Bind(pintf, false);
  }

  _InvalidOleVariantTypeExceptionDispT(_InvalidOleVariantTypeExceptionPtr pintf)
  {
    TAutoDriver<_InvalidOleVariantTypeException>::Bind(pintf, true);
  }

  _InvalidOleVariantTypeExceptionDispT& operator=(_InvalidOleVariantTypeException *pintf)
  {
    TAutoDriver<_InvalidOleVariantTypeException>::Bind(pintf, false);
    return *this;
  }

  _InvalidOleVariantTypeExceptionDispT& operator=(_InvalidOleVariantTypeExceptionPtr pintf)
  {
    TAutoDriver<_InvalidOleVariantTypeException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InvalidOleVariantTypeException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InvalidOleVariantTypeException);
  }


};
typedef _InvalidOleVariantTypeExceptionDispT<_InvalidOleVariantTypeException> _InvalidOleVariantTypeExceptionDisp;

typedef TComInterface<ITypeLibImporterNotifySink>  TCOMITypeLibImporterNotifySink;

// *********************************************************************//
// SmartIntf: TCOM_MarshalDirectiveException
// Interface: _MarshalDirectiveException
// *********************************************************************//
template <class T /* _MarshalDirectiveException */ >
class TCOM_MarshalDirectiveExceptionT : public TComInterface<_MarshalDirectiveException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MarshalDirectiveExceptionT() {}
  TCOM_MarshalDirectiveExceptionT(_MarshalDirectiveException *intf, bool addRef = false) : TComInterface<_MarshalDirectiveException>(intf, addRef) {}
  TCOM_MarshalDirectiveExceptionT(const TCOM_MarshalDirectiveExceptionT& src) : TComInterface<_MarshalDirectiveException>(src) {}
  TCOM_MarshalDirectiveExceptionT& operator=(const TCOM_MarshalDirectiveExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MarshalDirectiveExceptionT<_MarshalDirectiveException> TCOM_MarshalDirectiveException;

// *********************************************************************//
// DispIntf:  _MarshalDirectiveException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {523F42A5-1FD2-355D-82BF-0D67C4A0A0E7}
// *********************************************************************//
template<class T>
class _MarshalDirectiveExceptionDispT : public TAutoDriver<_MarshalDirectiveException>
{
public:
  _MarshalDirectiveExceptionDispT(){}

  _MarshalDirectiveExceptionDispT(_MarshalDirectiveException *pintf)
  {
    TAutoDriver<_MarshalDirectiveException>::Bind(pintf, false);
  }

  _MarshalDirectiveExceptionDispT(_MarshalDirectiveExceptionPtr pintf)
  {
    TAutoDriver<_MarshalDirectiveException>::Bind(pintf, true);
  }

  _MarshalDirectiveExceptionDispT& operator=(_MarshalDirectiveException *pintf)
  {
    TAutoDriver<_MarshalDirectiveException>::Bind(pintf, false);
    return *this;
  }

  _MarshalDirectiveExceptionDispT& operator=(_MarshalDirectiveExceptionPtr pintf)
  {
    TAutoDriver<_MarshalDirectiveException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MarshalDirectiveException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MarshalDirectiveException);
  }


};
typedef _MarshalDirectiveExceptionDispT<_MarshalDirectiveException> _MarshalDirectiveExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_RuntimeEnvironment
// Interface: _RuntimeEnvironment
// *********************************************************************//
template <class T /* _RuntimeEnvironment */ >
class TCOM_RuntimeEnvironmentT : public TComInterface<_RuntimeEnvironment>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RuntimeEnvironmentT() {}
  TCOM_RuntimeEnvironmentT(_RuntimeEnvironment *intf, bool addRef = false) : TComInterface<_RuntimeEnvironment>(intf, addRef) {}
  TCOM_RuntimeEnvironmentT(const TCOM_RuntimeEnvironmentT& src) : TComInterface<_RuntimeEnvironment>(src) {}
  TCOM_RuntimeEnvironmentT& operator=(const TCOM_RuntimeEnvironmentT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RuntimeEnvironmentT<_RuntimeEnvironment> TCOM_RuntimeEnvironment;

// *********************************************************************//
// DispIntf:  _RuntimeEnvironment
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EDCEE21A-3E3A-331E-A86D-274028BE6716}
// *********************************************************************//
template<class T>
class _RuntimeEnvironmentDispT : public TAutoDriver<_RuntimeEnvironment>
{
public:
  _RuntimeEnvironmentDispT(){}

  _RuntimeEnvironmentDispT(_RuntimeEnvironment *pintf)
  {
    TAutoDriver<_RuntimeEnvironment>::Bind(pintf, false);
  }

  _RuntimeEnvironmentDispT(_RuntimeEnvironmentPtr pintf)
  {
    TAutoDriver<_RuntimeEnvironment>::Bind(pintf, true);
  }

  _RuntimeEnvironmentDispT& operator=(_RuntimeEnvironment *pintf)
  {
    TAutoDriver<_RuntimeEnvironment>::Bind(pintf, false);
    return *this;
  }

  _RuntimeEnvironmentDispT& operator=(_RuntimeEnvironmentPtr pintf)
  {
    TAutoDriver<_RuntimeEnvironment>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RuntimeEnvironment));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RuntimeEnvironment);
  }


};
typedef _RuntimeEnvironmentDispT<_RuntimeEnvironment> _RuntimeEnvironmentDisp;

// *********************************************************************//
// SmartIntf: TCOM_SEHException
// Interface: _SEHException
// *********************************************************************//
template <class T /* _SEHException */ >
class TCOM_SEHExceptionT : public TComInterface<_SEHException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SEHExceptionT() {}
  TCOM_SEHExceptionT(_SEHException *intf, bool addRef = false) : TComInterface<_SEHException>(intf, addRef) {}
  TCOM_SEHExceptionT(const TCOM_SEHExceptionT& src) : TComInterface<_SEHException>(src) {}
  TCOM_SEHExceptionT& operator=(const TCOM_SEHExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SEHExceptionT<_SEHException> TCOM_SEHException;

// *********************************************************************//
// DispIntf:  _SEHException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3E72E067-4C5E-36C8-BBEF-1E2978C7780D}
// *********************************************************************//
template<class T>
class _SEHExceptionDispT : public TAutoDriver<_SEHException>
{
public:
  _SEHExceptionDispT(){}

  _SEHExceptionDispT(_SEHException *pintf)
  {
    TAutoDriver<_SEHException>::Bind(pintf, false);
  }

  _SEHExceptionDispT(_SEHExceptionPtr pintf)
  {
    TAutoDriver<_SEHException>::Bind(pintf, true);
  }

  _SEHExceptionDispT& operator=(_SEHException *pintf)
  {
    TAutoDriver<_SEHException>::Bind(pintf, false);
    return *this;
  }

  _SEHExceptionDispT& operator=(_SEHExceptionPtr pintf)
  {
    TAutoDriver<_SEHException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SEHException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SEHException);
  }


};
typedef _SEHExceptionDispT<_SEHException> _SEHExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_BStrWrapper
// Interface: _BStrWrapper
// *********************************************************************//
template <class T /* _BStrWrapper */ >
class TCOM_BStrWrapperT : public TComInterface<_BStrWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BStrWrapperT() {}
  TCOM_BStrWrapperT(_BStrWrapper *intf, bool addRef = false) : TComInterface<_BStrWrapper>(intf, addRef) {}
  TCOM_BStrWrapperT(const TCOM_BStrWrapperT& src) : TComInterface<_BStrWrapper>(src) {}
  TCOM_BStrWrapperT& operator=(const TCOM_BStrWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BStrWrapperT<_BStrWrapper> TCOM_BStrWrapper;

// *********************************************************************//
// DispIntf:  _BStrWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {80DA5818-609F-32B8-A9F8-95FCFBDB9C8E}
// *********************************************************************//
template<class T>
class _BStrWrapperDispT : public TAutoDriver<_BStrWrapper>
{
public:
  _BStrWrapperDispT(){}

  _BStrWrapperDispT(_BStrWrapper *pintf)
  {
    TAutoDriver<_BStrWrapper>::Bind(pintf, false);
  }

  _BStrWrapperDispT(_BStrWrapperPtr pintf)
  {
    TAutoDriver<_BStrWrapper>::Bind(pintf, true);
  }

  _BStrWrapperDispT& operator=(_BStrWrapper *pintf)
  {
    TAutoDriver<_BStrWrapper>::Bind(pintf, false);
    return *this;
  }

  _BStrWrapperDispT& operator=(_BStrWrapperPtr pintf)
  {
    TAutoDriver<_BStrWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BStrWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BStrWrapper);
  }


};
typedef _BStrWrapperDispT<_BStrWrapper> _BStrWrapperDisp;

// *********************************************************************//
// SmartIntf: TCOM_CurrencyWrapper
// Interface: _CurrencyWrapper
// *********************************************************************//
template <class T /* _CurrencyWrapper */ >
class TCOM_CurrencyWrapperT : public TComInterface<_CurrencyWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CurrencyWrapperT() {}
  TCOM_CurrencyWrapperT(_CurrencyWrapper *intf, bool addRef = false) : TComInterface<_CurrencyWrapper>(intf, addRef) {}
  TCOM_CurrencyWrapperT(const TCOM_CurrencyWrapperT& src) : TComInterface<_CurrencyWrapper>(src) {}
  TCOM_CurrencyWrapperT& operator=(const TCOM_CurrencyWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CurrencyWrapperT<_CurrencyWrapper> TCOM_CurrencyWrapper;

// *********************************************************************//
// DispIntf:  _CurrencyWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7DF6F279-DA62-3C9F-8944-4DD3C0F08170}
// *********************************************************************//
template<class T>
class _CurrencyWrapperDispT : public TAutoDriver<_CurrencyWrapper>
{
public:
  _CurrencyWrapperDispT(){}

  _CurrencyWrapperDispT(_CurrencyWrapper *pintf)
  {
    TAutoDriver<_CurrencyWrapper>::Bind(pintf, false);
  }

  _CurrencyWrapperDispT(_CurrencyWrapperPtr pintf)
  {
    TAutoDriver<_CurrencyWrapper>::Bind(pintf, true);
  }

  _CurrencyWrapperDispT& operator=(_CurrencyWrapper *pintf)
  {
    TAutoDriver<_CurrencyWrapper>::Bind(pintf, false);
    return *this;
  }

  _CurrencyWrapperDispT& operator=(_CurrencyWrapperPtr pintf)
  {
    TAutoDriver<_CurrencyWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CurrencyWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CurrencyWrapper);
  }


};
typedef _CurrencyWrapperDispT<_CurrencyWrapper> _CurrencyWrapperDisp;

// *********************************************************************//
// SmartIntf: TCOM_DispatchWrapper
// Interface: _DispatchWrapper
// *********************************************************************//
template <class T /* _DispatchWrapper */ >
class TCOM_DispatchWrapperT : public TComInterface<_DispatchWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DispatchWrapperT() {}
  TCOM_DispatchWrapperT(_DispatchWrapper *intf, bool addRef = false) : TComInterface<_DispatchWrapper>(intf, addRef) {}
  TCOM_DispatchWrapperT(const TCOM_DispatchWrapperT& src) : TComInterface<_DispatchWrapper>(src) {}
  TCOM_DispatchWrapperT& operator=(const TCOM_DispatchWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DispatchWrapperT<_DispatchWrapper> TCOM_DispatchWrapper;

// *********************************************************************//
// DispIntf:  _DispatchWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {72103C67-D511-329C-B19A-DD5EC3F1206C}
// *********************************************************************//
template<class T>
class _DispatchWrapperDispT : public TAutoDriver<_DispatchWrapper>
{
public:
  _DispatchWrapperDispT(){}

  _DispatchWrapperDispT(_DispatchWrapper *pintf)
  {
    TAutoDriver<_DispatchWrapper>::Bind(pintf, false);
  }

  _DispatchWrapperDispT(_DispatchWrapperPtr pintf)
  {
    TAutoDriver<_DispatchWrapper>::Bind(pintf, true);
  }

  _DispatchWrapperDispT& operator=(_DispatchWrapper *pintf)
  {
    TAutoDriver<_DispatchWrapper>::Bind(pintf, false);
    return *this;
  }

  _DispatchWrapperDispT& operator=(_DispatchWrapperPtr pintf)
  {
    TAutoDriver<_DispatchWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DispatchWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DispatchWrapper);
  }


};
typedef _DispatchWrapperDispT<_DispatchWrapper> _DispatchWrapperDisp;

// *********************************************************************//
// SmartIntf: TCOM_ErrorWrapper
// Interface: _ErrorWrapper
// *********************************************************************//
template <class T /* _ErrorWrapper */ >
class TCOM_ErrorWrapperT : public TComInterface<_ErrorWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ErrorWrapperT() {}
  TCOM_ErrorWrapperT(_ErrorWrapper *intf, bool addRef = false) : TComInterface<_ErrorWrapper>(intf, addRef) {}
  TCOM_ErrorWrapperT(const TCOM_ErrorWrapperT& src) : TComInterface<_ErrorWrapper>(src) {}
  TCOM_ErrorWrapperT& operator=(const TCOM_ErrorWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ErrorWrapperT<_ErrorWrapper> TCOM_ErrorWrapper;

// *********************************************************************//
// DispIntf:  _ErrorWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F79DB336-06BE-3959-A5AB-58B2AB6C5FD1}
// *********************************************************************//
template<class T>
class _ErrorWrapperDispT : public TAutoDriver<_ErrorWrapper>
{
public:
  _ErrorWrapperDispT(){}

  _ErrorWrapperDispT(_ErrorWrapper *pintf)
  {
    TAutoDriver<_ErrorWrapper>::Bind(pintf, false);
  }

  _ErrorWrapperDispT(_ErrorWrapperPtr pintf)
  {
    TAutoDriver<_ErrorWrapper>::Bind(pintf, true);
  }

  _ErrorWrapperDispT& operator=(_ErrorWrapper *pintf)
  {
    TAutoDriver<_ErrorWrapper>::Bind(pintf, false);
    return *this;
  }

  _ErrorWrapperDispT& operator=(_ErrorWrapperPtr pintf)
  {
    TAutoDriver<_ErrorWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ErrorWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ErrorWrapper);
  }


};
typedef _ErrorWrapperDispT<_ErrorWrapper> _ErrorWrapperDisp;

// *********************************************************************//
// SmartIntf: TCOM_ExtensibleClassFactory
// Interface: _ExtensibleClassFactory
// *********************************************************************//
template <class T /* _ExtensibleClassFactory */ >
class TCOM_ExtensibleClassFactoryT : public TComInterface<_ExtensibleClassFactory>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ExtensibleClassFactoryT() {}
  TCOM_ExtensibleClassFactoryT(_ExtensibleClassFactory *intf, bool addRef = false) : TComInterface<_ExtensibleClassFactory>(intf, addRef) {}
  TCOM_ExtensibleClassFactoryT(const TCOM_ExtensibleClassFactoryT& src) : TComInterface<_ExtensibleClassFactory>(src) {}
  TCOM_ExtensibleClassFactoryT& operator=(const TCOM_ExtensibleClassFactoryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ExtensibleClassFactoryT<_ExtensibleClassFactory> TCOM_ExtensibleClassFactory;

// *********************************************************************//
// DispIntf:  _ExtensibleClassFactory
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {519EB857-7A2D-3A95-A2A3-8BB8ED63D41B}
// *********************************************************************//
template<class T>
class _ExtensibleClassFactoryDispT : public TAutoDriver<_ExtensibleClassFactory>
{
public:
  _ExtensibleClassFactoryDispT(){}

  _ExtensibleClassFactoryDispT(_ExtensibleClassFactory *pintf)
  {
    TAutoDriver<_ExtensibleClassFactory>::Bind(pintf, false);
  }

  _ExtensibleClassFactoryDispT(_ExtensibleClassFactoryPtr pintf)
  {
    TAutoDriver<_ExtensibleClassFactory>::Bind(pintf, true);
  }

  _ExtensibleClassFactoryDispT& operator=(_ExtensibleClassFactory *pintf)
  {
    TAutoDriver<_ExtensibleClassFactory>::Bind(pintf, false);
    return *this;
  }

  _ExtensibleClassFactoryDispT& operator=(_ExtensibleClassFactoryPtr pintf)
  {
    TAutoDriver<_ExtensibleClassFactory>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ExtensibleClassFactory));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ExtensibleClassFactory);
  }


};
typedef _ExtensibleClassFactoryDispT<_ExtensibleClassFactory> _ExtensibleClassFactoryDisp;

typedef TComInterface<ICustomAdapter>  TCOMICustomAdapter;

// *********************************************************************//
// DispIntf:  ICustomAdapter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3CC86595-FEB5-3CE9-BA14-D05C8DC3321C}
// *********************************************************************//
template<class T>
class ICustomAdapterDispT : public TAutoDriver<ICustomAdapter>
{
public:
  ICustomAdapterDispT(){}

  ICustomAdapterDispT(ICustomAdapter *pintf)
  {
    TAutoDriver<ICustomAdapter>::Bind(pintf, false);
  }

  ICustomAdapterDispT(ICustomAdapterPtr pintf)
  {
    TAutoDriver<ICustomAdapter>::Bind(pintf, true);
  }

  ICustomAdapterDispT& operator=(ICustomAdapter *pintf)
  {
    TAutoDriver<ICustomAdapter>::Bind(pintf, false);
    return *this;
  }

  ICustomAdapterDispT& operator=(ICustomAdapterPtr pintf)
  {
    TAutoDriver<ICustomAdapter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetUnderlyingObject(LPUNKNOWN* pRetVal/*[out,retval]*/);
  LPUNKNOWN       __fastcall GetUnderlyingObject(void);

};
typedef ICustomAdapterDispT<ICustomAdapter> ICustomAdapterDisp;

typedef TComInterface<ICustomFactory>  TCOMICustomFactory;

// *********************************************************************//
// DispIntf:  ICustomFactory
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0CA9008E-EE90-356E-9F6D-B59E6006B9A4}
// *********************************************************************//
template<class T>
class ICustomFactoryDispT : public TAutoDriver<ICustomFactory>
{
public:
  ICustomFactoryDispT(){}

  ICustomFactoryDispT(ICustomFactory *pintf)
  {
    TAutoDriver<ICustomFactory>::Bind(pintf, false);
  }

  ICustomFactoryDispT(ICustomFactoryPtr pintf)
  {
    TAutoDriver<ICustomFactory>::Bind(pintf, true);
  }

  ICustomFactoryDispT& operator=(ICustomFactory *pintf)
  {
    TAutoDriver<ICustomFactory>::Bind(pintf, false);
    return *this;
  }

  ICustomFactoryDispT& operator=(ICustomFactoryPtr pintf)
  {
    TAutoDriver<ICustomFactory>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall CreateInstance(Mscorlib_tlb::_TypePtr serverType/*[in]*/, 
                                            Mscorlib_tlb::_MarshalByRefObjectPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MarshalByRefObjectPtr __fastcall CreateInstance(Mscorlib_tlb::_TypePtr serverType/*[in]*/);

};
typedef ICustomFactoryDispT<ICustomFactory> ICustomFactoryDisp;

// *********************************************************************//
// SmartIntf: TCOM_InvalidComObjectException
// Interface: _InvalidComObjectException
// *********************************************************************//
template <class T /* _InvalidComObjectException */ >
class TCOM_InvalidComObjectExceptionT : public TComInterface<_InvalidComObjectException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InvalidComObjectExceptionT() {}
  TCOM_InvalidComObjectExceptionT(_InvalidComObjectException *intf, bool addRef = false) : TComInterface<_InvalidComObjectException>(intf, addRef) {}
  TCOM_InvalidComObjectExceptionT(const TCOM_InvalidComObjectExceptionT& src) : TComInterface<_InvalidComObjectException>(src) {}
  TCOM_InvalidComObjectExceptionT& operator=(const TCOM_InvalidComObjectExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InvalidComObjectExceptionT<_InvalidComObjectException> TCOM_InvalidComObjectException;

// *********************************************************************//
// DispIntf:  _InvalidComObjectException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DE9156B5-5E7A-3041-BF45-A29A6C2CF48A}
// *********************************************************************//
template<class T>
class _InvalidComObjectExceptionDispT : public TAutoDriver<_InvalidComObjectException>
{
public:
  _InvalidComObjectExceptionDispT(){}

  _InvalidComObjectExceptionDispT(_InvalidComObjectException *pintf)
  {
    TAutoDriver<_InvalidComObjectException>::Bind(pintf, false);
  }

  _InvalidComObjectExceptionDispT(_InvalidComObjectExceptionPtr pintf)
  {
    TAutoDriver<_InvalidComObjectException>::Bind(pintf, true);
  }

  _InvalidComObjectExceptionDispT& operator=(_InvalidComObjectException *pintf)
  {
    TAutoDriver<_InvalidComObjectException>::Bind(pintf, false);
    return *this;
  }

  _InvalidComObjectExceptionDispT& operator=(_InvalidComObjectExceptionPtr pintf)
  {
    TAutoDriver<_InvalidComObjectException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InvalidComObjectException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InvalidComObjectException);
  }


};
typedef _InvalidComObjectExceptionDispT<_InvalidComObjectException> _InvalidComObjectExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOMIRegistrationServices
// Interface: IRegistrationServices
// *********************************************************************//
template <class T /* IRegistrationServices */ >
class TCOMIRegistrationServicesT : public TComInterface<IRegistrationServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOMIRegistrationServicesT() {}
  TCOMIRegistrationServicesT(IRegistrationServices *intf, bool addRef = false) : TComInterface<IRegistrationServices>(intf, addRef) {}
  TCOMIRegistrationServicesT(const TCOMIRegistrationServicesT& src) : TComInterface<IRegistrationServices>(src) {}
  TCOMIRegistrationServicesT& operator=(const TCOMIRegistrationServicesT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                              Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/, 
                                              TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                              Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/);
  HRESULT         __fastcall UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/);
  HRESULT         __fastcall GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                           LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/);
  HRESULT         __fastcall GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                              BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/);
  HRESULT         __fastcall RegisterTypeForComClients(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                       TGUID* G/*[in,out]*/);
  HRESULT         __fastcall GetManagedCategoryGuid(TGUID* pRetVal/*[out,retval]*/);
  TGUID           __fastcall GetManagedCategoryGuid(void);
  HRESULT         __fastcall TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                      TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/);
  HRESULT         __fastcall TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                   TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/);

};
typedef TCOMIRegistrationServicesT<IRegistrationServices> TCOMIRegistrationServices;

// *********************************************************************//
// DispIntf:  IRegistrationServices
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CCBD682C-73A5-4568-B8B0-C7007E11ABA2}
// *********************************************************************//
template<class T>
class IRegistrationServicesDispT : public TAutoDriver<IRegistrationServices>
{
public:
  IRegistrationServicesDispT(){}

  IRegistrationServicesDispT(IRegistrationServices *pintf)
  {
    TAutoDriver<IRegistrationServices>::Bind(pintf, false);
  }

  IRegistrationServicesDispT(IRegistrationServicesPtr pintf)
  {
    TAutoDriver<IRegistrationServices>::Bind(pintf, true);
  }

  IRegistrationServicesDispT& operator=(IRegistrationServices *pintf)
  {
    TAutoDriver<IRegistrationServices>::Bind(pintf, false);
    return *this;
  }

  IRegistrationServicesDispT& operator=(IRegistrationServicesPtr pintf)
  {
    TAutoDriver<IRegistrationServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RegistrationServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RegistrationServices);
  }

  HRESULT         __fastcall RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                              Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/
                                              , TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                              Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/);
  HRESULT         __fastcall UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/);
  HRESULT         __fastcall GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/
                                                           , LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/);
  HRESULT         __fastcall GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                              BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/);
  HRESULT         __fastcall RegisterTypeForComClients(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                       /*AUTO_PARAM_ERROR(TGUID* G)*/ TVariant&  G);
  HRESULT         __fastcall GetManagedCategoryGuid(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                      TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/);
  HRESULT         __fastcall TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                   TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/);

};
typedef IRegistrationServicesDispT<IRegistrationServices> IRegistrationServicesDisp;

typedef TComInterface<ITypeLibExporterNotifySink>  TCOMITypeLibExporterNotifySink;

// *********************************************************************//
// SmartIntf: TCOMITypeLibConverter
// Interface: ITypeLibConverter
// *********************************************************************//
template <class T /* ITypeLibConverter */ >
class TCOMITypeLibConverterT : public TComInterface<ITypeLibConverter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOMITypeLibConverterT() {}
  TCOMITypeLibConverterT(ITypeLibConverter *intf, bool addRef = false) : TComInterface<ITypeLibConverter>(intf, addRef) {}
  TCOMITypeLibConverterT(const TCOMITypeLibConverterT& src) : TComInterface<ITypeLibConverter>(src) {}
  TCOMITypeLibConverterT& operator=(const TCOMITypeLibConverterT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall ConvertTypeLibToAssembly(LPUNKNOWN typeLib/*[in]*/, 
                                                      BSTR asmFileName/*[in]*/, 
                                                      Mscorlib_tlb::TypeLibImporterFlags flags/*[in]*/, 
                                                      Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                      LPSAFEARRAY publicKey/*[in]*/, 
                                                      Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                      BSTR asmNamespace/*[in]*/, 
                                                      Mscorlib_tlb::_VersionPtr asmVersion/*[in]*/, 
                                                      Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall ConvertTypeLibToAssembly(LPUNKNOWN typeLib/*[in]*/, 
                                                                        BSTR asmFileName/*[in]*/, 
                                                                        Mscorlib_tlb::TypeLibImporterFlags flags/*[in]*/, 
                                                                        Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                                        LPSAFEARRAY publicKey/*[in]*/, 
                                                                        Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                                        BSTR asmNamespace/*[in]*/, 
                                                                        Mscorlib_tlb::_VersionPtr asmVersion/*[in]*/);
  HRESULT         __fastcall ConvertAssemblyToTypeLib(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                      BSTR typeLibName/*[in]*/, 
                                                      Mscorlib_tlb::TypeLibExporterFlags flags/*[in]*/, 
                                                      Mscorlib_tlb::ITypeLibExporterNotifySinkPtr notifySink/*[in]*/, 
                                                      LPUNKNOWN* pRetVal/*[out,retval]*/);
  LPUNKNOWN       __fastcall ConvertAssemblyToTypeLib(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                      BSTR typeLibName/*[in]*/, 
                                                      Mscorlib_tlb::TypeLibExporterFlags flags/*[in]*/, 
                                                      Mscorlib_tlb::ITypeLibExporterNotifySinkPtr notifySink/*[in]*/);
  HRESULT         __fastcall GetPrimaryInteropAssembly(TGUID G/*[in]*/, long major/*[in]*/, 
                                                       long minor/*[in]*/, long lcid/*[in]*/, 
                                                       BSTR* asmName/*[out]*/, 
                                                       BSTR* asmCodeBase/*[out]*/, 
                                                       TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall GetPrimaryInteropAssembly(TGUID G/*[in]*/, long major/*[in]*/, 
                                                       long minor/*[in]*/, long lcid/*[in]*/, 
                                                       BSTR* asmName/*[out]*/, 
                                                       BSTR* asmCodeBase/*[out]*/);
  HRESULT         __fastcall ConvertTypeLibToAssembly_2(LPUNKNOWN typeLib/*[in]*/, 
                                                        BSTR asmFileName/*[in]*/, long flags/*[in]*/, 
                                                        Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                        LPSAFEARRAY publicKey/*[in]*/, 
                                                        Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                        TOLEBOOL unsafeInterfaces/*[in]*/, 
                                                        Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_AssemblyBuilderPtr __fastcall ConvertTypeLibToAssembly_2(LPUNKNOWN typeLib/*[in]*/, 
                                                                          BSTR asmFileName/*[in]*/, 
                                                                          long flags/*[in]*/, 
                                                                          Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                                          LPSAFEARRAY publicKey/*[in]*/, 
                                                                          Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                                          TOLEBOOL unsafeInterfaces/*[in]*/);

};
typedef TCOMITypeLibConverterT<ITypeLibConverter> TCOMITypeLibConverter;

typedef TComInterface<ITypeLibExporterNameProvider>  TCOMITypeLibExporterNameProvider;

// *********************************************************************//
// SmartIntf: TCOM_ObjectCreationDelegate
// Interface: _ObjectCreationDelegate
// *********************************************************************//
template <class T /* _ObjectCreationDelegate */ >
class TCOM_ObjectCreationDelegateT : public TComInterface<_ObjectCreationDelegate>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObjectCreationDelegateT() {}
  TCOM_ObjectCreationDelegateT(_ObjectCreationDelegate *intf, bool addRef = false) : TComInterface<_ObjectCreationDelegate>(intf, addRef) {}
  TCOM_ObjectCreationDelegateT(const TCOM_ObjectCreationDelegateT& src) : TComInterface<_ObjectCreationDelegate>(src) {}
  TCOM_ObjectCreationDelegateT& operator=(const TCOM_ObjectCreationDelegateT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObjectCreationDelegateT<_ObjectCreationDelegate> TCOM_ObjectCreationDelegate;

// *********************************************************************//
// DispIntf:  _ObjectCreationDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E4A369D3-6CF0-3B05-9C0C-1A91E331641A}
// *********************************************************************//
template<class T>
class _ObjectCreationDelegateDispT : public TAutoDriver<_ObjectCreationDelegate>
{
public:
  _ObjectCreationDelegateDispT(){}

  _ObjectCreationDelegateDispT(_ObjectCreationDelegate *pintf)
  {
    TAutoDriver<_ObjectCreationDelegate>::Bind(pintf, false);
  }

  _ObjectCreationDelegateDispT(_ObjectCreationDelegatePtr pintf)
  {
    TAutoDriver<_ObjectCreationDelegate>::Bind(pintf, true);
  }

  _ObjectCreationDelegateDispT& operator=(_ObjectCreationDelegate *pintf)
  {
    TAutoDriver<_ObjectCreationDelegate>::Bind(pintf, false);
    return *this;
  }

  _ObjectCreationDelegateDispT& operator=(_ObjectCreationDelegatePtr pintf)
  {
    TAutoDriver<_ObjectCreationDelegate>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObjectCreationDelegate));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObjectCreationDelegate);
  }


};
typedef _ObjectCreationDelegateDispT<_ObjectCreationDelegate> _ObjectCreationDelegateDisp;

// *********************************************************************//
// SmartIntf: TCOM_SafeArrayRankMismatchException
// Interface: _SafeArrayRankMismatchException
// *********************************************************************//
template <class T /* _SafeArrayRankMismatchException */ >
class TCOM_SafeArrayRankMismatchExceptionT : public TComInterface<_SafeArrayRankMismatchException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SafeArrayRankMismatchExceptionT() {}
  TCOM_SafeArrayRankMismatchExceptionT(_SafeArrayRankMismatchException *intf, bool addRef = false) : TComInterface<_SafeArrayRankMismatchException>(intf, addRef) {}
  TCOM_SafeArrayRankMismatchExceptionT(const TCOM_SafeArrayRankMismatchExceptionT& src) : TComInterface<_SafeArrayRankMismatchException>(src) {}
  TCOM_SafeArrayRankMismatchExceptionT& operator=(const TCOM_SafeArrayRankMismatchExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SafeArrayRankMismatchExceptionT<_SafeArrayRankMismatchException> TCOM_SafeArrayRankMismatchException;

// *********************************************************************//
// DispIntf:  _SafeArrayRankMismatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8608FE7B-2FDC-318A-B711-6F7B2FEDED06}
// *********************************************************************//
template<class T>
class _SafeArrayRankMismatchExceptionDispT : public TAutoDriver<_SafeArrayRankMismatchException>
{
public:
  _SafeArrayRankMismatchExceptionDispT(){}

  _SafeArrayRankMismatchExceptionDispT(_SafeArrayRankMismatchException *pintf)
  {
    TAutoDriver<_SafeArrayRankMismatchException>::Bind(pintf, false);
  }

  _SafeArrayRankMismatchExceptionDispT(_SafeArrayRankMismatchExceptionPtr pintf)
  {
    TAutoDriver<_SafeArrayRankMismatchException>::Bind(pintf, true);
  }

  _SafeArrayRankMismatchExceptionDispT& operator=(_SafeArrayRankMismatchException *pintf)
  {
    TAutoDriver<_SafeArrayRankMismatchException>::Bind(pintf, false);
    return *this;
  }

  _SafeArrayRankMismatchExceptionDispT& operator=(_SafeArrayRankMismatchExceptionPtr pintf)
  {
    TAutoDriver<_SafeArrayRankMismatchException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SafeArrayRankMismatchException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SafeArrayRankMismatchException);
  }


};
typedef _SafeArrayRankMismatchExceptionDispT<_SafeArrayRankMismatchException> _SafeArrayRankMismatchExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SafeArrayTypeMismatchException
// Interface: _SafeArrayTypeMismatchException
// *********************************************************************//
template <class T /* _SafeArrayTypeMismatchException */ >
class TCOM_SafeArrayTypeMismatchExceptionT : public TComInterface<_SafeArrayTypeMismatchException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SafeArrayTypeMismatchExceptionT() {}
  TCOM_SafeArrayTypeMismatchExceptionT(_SafeArrayTypeMismatchException *intf, bool addRef = false) : TComInterface<_SafeArrayTypeMismatchException>(intf, addRef) {}
  TCOM_SafeArrayTypeMismatchExceptionT(const TCOM_SafeArrayTypeMismatchExceptionT& src) : TComInterface<_SafeArrayTypeMismatchException>(src) {}
  TCOM_SafeArrayTypeMismatchExceptionT& operator=(const TCOM_SafeArrayTypeMismatchExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SafeArrayTypeMismatchExceptionT<_SafeArrayTypeMismatchException> TCOM_SafeArrayTypeMismatchException;

// *********************************************************************//
// DispIntf:  _SafeArrayTypeMismatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E093FB32-E43B-3B3F-A163-742C920C2AF3}
// *********************************************************************//
template<class T>
class _SafeArrayTypeMismatchExceptionDispT : public TAutoDriver<_SafeArrayTypeMismatchException>
{
public:
  _SafeArrayTypeMismatchExceptionDispT(){}

  _SafeArrayTypeMismatchExceptionDispT(_SafeArrayTypeMismatchException *pintf)
  {
    TAutoDriver<_SafeArrayTypeMismatchException>::Bind(pintf, false);
  }

  _SafeArrayTypeMismatchExceptionDispT(_SafeArrayTypeMismatchExceptionPtr pintf)
  {
    TAutoDriver<_SafeArrayTypeMismatchException>::Bind(pintf, true);
  }

  _SafeArrayTypeMismatchExceptionDispT& operator=(_SafeArrayTypeMismatchException *pintf)
  {
    TAutoDriver<_SafeArrayTypeMismatchException>::Bind(pintf, false);
    return *this;
  }

  _SafeArrayTypeMismatchExceptionDispT& operator=(_SafeArrayTypeMismatchExceptionPtr pintf)
  {
    TAutoDriver<_SafeArrayTypeMismatchException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SafeArrayTypeMismatchException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SafeArrayTypeMismatchException);
  }


};
typedef _SafeArrayTypeMismatchExceptionDispT<_SafeArrayTypeMismatchException> _SafeArrayTypeMismatchExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnknownWrapper
// Interface: _UnknownWrapper
// *********************************************************************//
template <class T /* _UnknownWrapper */ >
class TCOM_UnknownWrapperT : public TComInterface<_UnknownWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnknownWrapperT() {}
  TCOM_UnknownWrapperT(_UnknownWrapper *intf, bool addRef = false) : TComInterface<_UnknownWrapper>(intf, addRef) {}
  TCOM_UnknownWrapperT(const TCOM_UnknownWrapperT& src) : TComInterface<_UnknownWrapper>(src) {}
  TCOM_UnknownWrapperT& operator=(const TCOM_UnknownWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnknownWrapperT<_UnknownWrapper> TCOM_UnknownWrapper;

// *********************************************************************//
// DispIntf:  _UnknownWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1C8D8B14-4589-3DCA-8E0F-A30E80FBD1A8}
// *********************************************************************//
template<class T>
class _UnknownWrapperDispT : public TAutoDriver<_UnknownWrapper>
{
public:
  _UnknownWrapperDispT(){}

  _UnknownWrapperDispT(_UnknownWrapper *pintf)
  {
    TAutoDriver<_UnknownWrapper>::Bind(pintf, false);
  }

  _UnknownWrapperDispT(_UnknownWrapperPtr pintf)
  {
    TAutoDriver<_UnknownWrapper>::Bind(pintf, true);
  }

  _UnknownWrapperDispT& operator=(_UnknownWrapper *pintf)
  {
    TAutoDriver<_UnknownWrapper>::Bind(pintf, false);
    return *this;
  }

  _UnknownWrapperDispT& operator=(_UnknownWrapperPtr pintf)
  {
    TAutoDriver<_UnknownWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnknownWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnknownWrapper);
  }


};
typedef _UnknownWrapperDispT<_UnknownWrapper> _UnknownWrapperDisp;

typedef TComInterface<IExpando>  TCOMIExpando;

// *********************************************************************//
// DispIntf:  IExpando
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AFBF15E6-C37C-11D2-B88E-00A0C9B471B8}
// *********************************************************************//
template<class T>
class IExpandoDispT : public TAutoDriver<IExpando>
{
public:
  IExpandoDispT(){}

  IExpandoDispT(IExpando *pintf)
  {
    TAutoDriver<IExpando>::Bind(pintf, false);
  }

  IExpandoDispT(IExpandoPtr pintf)
  {
    TAutoDriver<IExpando>::Bind(pintf, true);
  }

  IExpandoDispT& operator=(IExpando *pintf)
  {
    TAutoDriver<IExpando>::Bind(pintf, false);
    return *this;
  }

  IExpandoDispT& operator=(IExpandoPtr pintf)
  {
    TAutoDriver<IExpando>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall AddField(BSTR name/*[in]*/, 
                                      Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_FieldInfoPtr __fastcall AddField(BSTR name/*[in]*/);
  HRESULT         __fastcall AddProperty(BSTR name/*[in]*/, 
                                         Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_PropertyInfoPtr __fastcall AddProperty(BSTR name/*[in]*/);
  HRESULT         __fastcall AddMethod(BSTR name/*[in]*/, Mscorlib_tlb::_DelegatePtr Method/*[in]*/
                                       , Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodInfoPtr __fastcall AddMethod(BSTR name/*[in]*/, 
                                                    Mscorlib_tlb::_DelegatePtr Method/*[in]*/);
  HRESULT         __fastcall RemoveMember(Mscorlib_tlb::_MemberInfoPtr m/*[in]*/);

};
typedef IExpandoDispT<IExpando> IExpandoDisp;

// *********************************************************************//
// SmartIntf: TCOM_Stream
// Interface: _Stream
// *********************************************************************//
template <class T /* _Stream */ >
class TCOM_StreamT : public TComInterface<_Stream>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StreamT() {}
  TCOM_StreamT(_Stream *intf, bool addRef = false) : TComInterface<_Stream>(intf, addRef) {}
  TCOM_StreamT(const TCOM_StreamT& src) : TComInterface<_Stream>(src) {}
  TCOM_StreamT& operator=(const TCOM_StreamT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StreamT<_Stream> TCOM_Stream;

// *********************************************************************//
// DispIntf:  _Stream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2752364A-924F-3603-8F6F-6586DF98B292}
// *********************************************************************//
template<class T>
class _StreamDispT : public TAutoDriver<_Stream>
{
public:
  _StreamDispT(){}

  _StreamDispT(_Stream *pintf)
  {
    TAutoDriver<_Stream>::Bind(pintf, false);
  }

  _StreamDispT(_StreamPtr pintf)
  {
    TAutoDriver<_Stream>::Bind(pintf, true);
  }

  _StreamDispT& operator=(_Stream *pintf)
  {
    TAutoDriver<_Stream>::Bind(pintf, false);
    return *this;
  }

  _StreamDispT& operator=(_StreamPtr pintf)
  {
    TAutoDriver<_Stream>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Stream));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Stream);
  }


};
typedef _StreamDispT<_Stream> _StreamDisp;

// *********************************************************************//
// SmartIntf: TCOM_BinaryReader
// Interface: _BinaryReader
// *********************************************************************//
template <class T /* _BinaryReader */ >
class TCOM_BinaryReaderT : public TComInterface<_BinaryReader>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BinaryReaderT() {}
  TCOM_BinaryReaderT(_BinaryReader *intf, bool addRef = false) : TComInterface<_BinaryReader>(intf, addRef) {}
  TCOM_BinaryReaderT(const TCOM_BinaryReaderT& src) : TComInterface<_BinaryReader>(src) {}
  TCOM_BinaryReaderT& operator=(const TCOM_BinaryReaderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BinaryReaderT<_BinaryReader> TCOM_BinaryReader;

// *********************************************************************//
// DispIntf:  _BinaryReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {442E3C03-A205-3F21-AA4D-31768BB8EA28}
// *********************************************************************//
template<class T>
class _BinaryReaderDispT : public TAutoDriver<_BinaryReader>
{
public:
  _BinaryReaderDispT(){}

  _BinaryReaderDispT(_BinaryReader *pintf)
  {
    TAutoDriver<_BinaryReader>::Bind(pintf, false);
  }

  _BinaryReaderDispT(_BinaryReaderPtr pintf)
  {
    TAutoDriver<_BinaryReader>::Bind(pintf, true);
  }

  _BinaryReaderDispT& operator=(_BinaryReader *pintf)
  {
    TAutoDriver<_BinaryReader>::Bind(pintf, false);
    return *this;
  }

  _BinaryReaderDispT& operator=(_BinaryReaderPtr pintf)
  {
    TAutoDriver<_BinaryReader>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BinaryReader));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BinaryReader);
  }


};
typedef _BinaryReaderDispT<_BinaryReader> _BinaryReaderDisp;

// *********************************************************************//
// SmartIntf: TCOM_BinaryWriter
// Interface: _BinaryWriter
// *********************************************************************//
template <class T /* _BinaryWriter */ >
class TCOM_BinaryWriterT : public TComInterface<_BinaryWriter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BinaryWriterT() {}
  TCOM_BinaryWriterT(_BinaryWriter *intf, bool addRef = false) : TComInterface<_BinaryWriter>(intf, addRef) {}
  TCOM_BinaryWriterT(const TCOM_BinaryWriterT& src) : TComInterface<_BinaryWriter>(src) {}
  TCOM_BinaryWriterT& operator=(const TCOM_BinaryWriterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BinaryWriterT<_BinaryWriter> TCOM_BinaryWriter;

// *********************************************************************//
// DispIntf:  _BinaryWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4CA8147E-BAA3-3A7F-92CE-A4FD7F17D8DA}
// *********************************************************************//
template<class T>
class _BinaryWriterDispT : public TAutoDriver<_BinaryWriter>
{
public:
  _BinaryWriterDispT(){}

  _BinaryWriterDispT(_BinaryWriter *pintf)
  {
    TAutoDriver<_BinaryWriter>::Bind(pintf, false);
  }

  _BinaryWriterDispT(_BinaryWriterPtr pintf)
  {
    TAutoDriver<_BinaryWriter>::Bind(pintf, true);
  }

  _BinaryWriterDispT& operator=(_BinaryWriter *pintf)
  {
    TAutoDriver<_BinaryWriter>::Bind(pintf, false);
    return *this;
  }

  _BinaryWriterDispT& operator=(_BinaryWriterPtr pintf)
  {
    TAutoDriver<_BinaryWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BinaryWriter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BinaryWriter);
  }


};
typedef _BinaryWriterDispT<_BinaryWriter> _BinaryWriterDisp;

// *********************************************************************//
// SmartIntf: TCOM_BufferedStream
// Interface: _BufferedStream
// *********************************************************************//
template <class T /* _BufferedStream */ >
class TCOM_BufferedStreamT : public TComInterface<_BufferedStream>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BufferedStreamT() {}
  TCOM_BufferedStreamT(_BufferedStream *intf, bool addRef = false) : TComInterface<_BufferedStream>(intf, addRef) {}
  TCOM_BufferedStreamT(const TCOM_BufferedStreamT& src) : TComInterface<_BufferedStream>(src) {}
  TCOM_BufferedStreamT& operator=(const TCOM_BufferedStreamT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BufferedStreamT<_BufferedStream> TCOM_BufferedStream;

// *********************************************************************//
// DispIntf:  _BufferedStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4B7571C3-1275-3457-8FEE-9976FD3937E3}
// *********************************************************************//
template<class T>
class _BufferedStreamDispT : public TAutoDriver<_BufferedStream>
{
public:
  _BufferedStreamDispT(){}

  _BufferedStreamDispT(_BufferedStream *pintf)
  {
    TAutoDriver<_BufferedStream>::Bind(pintf, false);
  }

  _BufferedStreamDispT(_BufferedStreamPtr pintf)
  {
    TAutoDriver<_BufferedStream>::Bind(pintf, true);
  }

  _BufferedStreamDispT& operator=(_BufferedStream *pintf)
  {
    TAutoDriver<_BufferedStream>::Bind(pintf, false);
    return *this;
  }

  _BufferedStreamDispT& operator=(_BufferedStreamPtr pintf)
  {
    TAutoDriver<_BufferedStream>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BufferedStream));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BufferedStream);
  }


};
typedef _BufferedStreamDispT<_BufferedStream> _BufferedStreamDisp;

// *********************************************************************//
// SmartIntf: TCOM_Directory
// Interface: _Directory
// *********************************************************************//
template <class T /* _Directory */ >
class TCOM_DirectoryT : public TComInterface<_Directory>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DirectoryT() {}
  TCOM_DirectoryT(_Directory *intf, bool addRef = false) : TComInterface<_Directory>(intf, addRef) {}
  TCOM_DirectoryT(const TCOM_DirectoryT& src) : TComInterface<_Directory>(src) {}
  TCOM_DirectoryT& operator=(const TCOM_DirectoryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DirectoryT<_Directory> TCOM_Directory;

// *********************************************************************//
// DispIntf:  _Directory
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8CE58FF5-F26D-38A4-9195-0E2ECB3B56B9}
// *********************************************************************//
template<class T>
class _DirectoryDispT : public TAutoDriver<_Directory>
{
public:
  _DirectoryDispT(){}

  _DirectoryDispT(_Directory *pintf)
  {
    TAutoDriver<_Directory>::Bind(pintf, false);
  }

  _DirectoryDispT(_DirectoryPtr pintf)
  {
    TAutoDriver<_Directory>::Bind(pintf, true);
  }

  _DirectoryDispT& operator=(_Directory *pintf)
  {
    TAutoDriver<_Directory>::Bind(pintf, false);
    return *this;
  }

  _DirectoryDispT& operator=(_DirectoryPtr pintf)
  {
    TAutoDriver<_Directory>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Directory));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Directory);
  }


};
typedef _DirectoryDispT<_Directory> _DirectoryDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileSystemInfo
// Interface: _FileSystemInfo
// *********************************************************************//
template <class T /* _FileSystemInfo */ >
class TCOM_FileSystemInfoT : public TComInterface<_FileSystemInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileSystemInfoT() {}
  TCOM_FileSystemInfoT(_FileSystemInfo *intf, bool addRef = false) : TComInterface<_FileSystemInfo>(intf, addRef) {}
  TCOM_FileSystemInfoT(const TCOM_FileSystemInfoT& src) : TComInterface<_FileSystemInfo>(src) {}
  TCOM_FileSystemInfoT& operator=(const TCOM_FileSystemInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileSystemInfoT<_FileSystemInfo> TCOM_FileSystemInfo;

// *********************************************************************//
// DispIntf:  _FileSystemInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A5D29A57-36A8-3E36-A099-7458B1FABAA2}
// *********************************************************************//
template<class T>
class _FileSystemInfoDispT : public TAutoDriver<_FileSystemInfo>
{
public:
  _FileSystemInfoDispT(){}

  _FileSystemInfoDispT(_FileSystemInfo *pintf)
  {
    TAutoDriver<_FileSystemInfo>::Bind(pintf, false);
  }

  _FileSystemInfoDispT(_FileSystemInfoPtr pintf)
  {
    TAutoDriver<_FileSystemInfo>::Bind(pintf, true);
  }

  _FileSystemInfoDispT& operator=(_FileSystemInfo *pintf)
  {
    TAutoDriver<_FileSystemInfo>::Bind(pintf, false);
    return *this;
  }

  _FileSystemInfoDispT& operator=(_FileSystemInfoPtr pintf)
  {
    TAutoDriver<_FileSystemInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileSystemInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileSystemInfo);
  }


};
typedef _FileSystemInfoDispT<_FileSystemInfo> _FileSystemInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_DirectoryInfo
// Interface: _DirectoryInfo
// *********************************************************************//
template <class T /* _DirectoryInfo */ >
class TCOM_DirectoryInfoT : public TComInterface<_DirectoryInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DirectoryInfoT() {}
  TCOM_DirectoryInfoT(_DirectoryInfo *intf, bool addRef = false) : TComInterface<_DirectoryInfo>(intf, addRef) {}
  TCOM_DirectoryInfoT(const TCOM_DirectoryInfoT& src) : TComInterface<_DirectoryInfo>(src) {}
  TCOM_DirectoryInfoT& operator=(const TCOM_DirectoryInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DirectoryInfoT<_DirectoryInfo> TCOM_DirectoryInfo;

// *********************************************************************//
// DispIntf:  _DirectoryInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {487E52F1-2BB9-3BD0-A0CA-6728B3A1D051}
// *********************************************************************//
template<class T>
class _DirectoryInfoDispT : public TAutoDriver<_DirectoryInfo>
{
public:
  _DirectoryInfoDispT(){}

  _DirectoryInfoDispT(_DirectoryInfo *pintf)
  {
    TAutoDriver<_DirectoryInfo>::Bind(pintf, false);
  }

  _DirectoryInfoDispT(_DirectoryInfoPtr pintf)
  {
    TAutoDriver<_DirectoryInfo>::Bind(pintf, true);
  }

  _DirectoryInfoDispT& operator=(_DirectoryInfo *pintf)
  {
    TAutoDriver<_DirectoryInfo>::Bind(pintf, false);
    return *this;
  }

  _DirectoryInfoDispT& operator=(_DirectoryInfoPtr pintf)
  {
    TAutoDriver<_DirectoryInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DirectoryInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DirectoryInfo);
  }


};
typedef _DirectoryInfoDispT<_DirectoryInfo> _DirectoryInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_IOException
// Interface: _IOException
// *********************************************************************//
template <class T /* _IOException */ >
class TCOM_IOExceptionT : public TComInterface<_IOException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IOExceptionT() {}
  TCOM_IOExceptionT(_IOException *intf, bool addRef = false) : TComInterface<_IOException>(intf, addRef) {}
  TCOM_IOExceptionT(const TCOM_IOExceptionT& src) : TComInterface<_IOException>(src) {}
  TCOM_IOExceptionT& operator=(const TCOM_IOExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IOExceptionT<_IOException> TCOM_IOException;

// *********************************************************************//
// DispIntf:  _IOException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C5BFC9BF-27A7-3A59-A986-44C85F3521BF}
// *********************************************************************//
template<class T>
class _IOExceptionDispT : public TAutoDriver<_IOException>
{
public:
  _IOExceptionDispT(){}

  _IOExceptionDispT(_IOException *pintf)
  {
    TAutoDriver<_IOException>::Bind(pintf, false);
  }

  _IOExceptionDispT(_IOExceptionPtr pintf)
  {
    TAutoDriver<_IOException>::Bind(pintf, true);
  }

  _IOExceptionDispT& operator=(_IOException *pintf)
  {
    TAutoDriver<_IOException>::Bind(pintf, false);
    return *this;
  }

  _IOExceptionDispT& operator=(_IOExceptionPtr pintf)
  {
    TAutoDriver<_IOException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IOException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IOException);
  }


};
typedef _IOExceptionDispT<_IOException> _IOExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_DirectoryNotFoundException
// Interface: _DirectoryNotFoundException
// *********************************************************************//
template <class T /* _DirectoryNotFoundException */ >
class TCOM_DirectoryNotFoundExceptionT : public TComInterface<_DirectoryNotFoundException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DirectoryNotFoundExceptionT() {}
  TCOM_DirectoryNotFoundExceptionT(_DirectoryNotFoundException *intf, bool addRef = false) : TComInterface<_DirectoryNotFoundException>(intf, addRef) {}
  TCOM_DirectoryNotFoundExceptionT(const TCOM_DirectoryNotFoundExceptionT& src) : TComInterface<_DirectoryNotFoundException>(src) {}
  TCOM_DirectoryNotFoundExceptionT& operator=(const TCOM_DirectoryNotFoundExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DirectoryNotFoundExceptionT<_DirectoryNotFoundException> TCOM_DirectoryNotFoundException;

// *********************************************************************//
// DispIntf:  _DirectoryNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C8A200E4-9735-30E4-B168-ED861A3020F2}
// *********************************************************************//
template<class T>
class _DirectoryNotFoundExceptionDispT : public TAutoDriver<_DirectoryNotFoundException>
{
public:
  _DirectoryNotFoundExceptionDispT(){}

  _DirectoryNotFoundExceptionDispT(_DirectoryNotFoundException *pintf)
  {
    TAutoDriver<_DirectoryNotFoundException>::Bind(pintf, false);
  }

  _DirectoryNotFoundExceptionDispT(_DirectoryNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_DirectoryNotFoundException>::Bind(pintf, true);
  }

  _DirectoryNotFoundExceptionDispT& operator=(_DirectoryNotFoundException *pintf)
  {
    TAutoDriver<_DirectoryNotFoundException>::Bind(pintf, false);
    return *this;
  }

  _DirectoryNotFoundExceptionDispT& operator=(_DirectoryNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_DirectoryNotFoundException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DirectoryNotFoundException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DirectoryNotFoundException);
  }


};
typedef _DirectoryNotFoundExceptionDispT<_DirectoryNotFoundException> _DirectoryNotFoundExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_DriveInfo
// Interface: _DriveInfo
// *********************************************************************//
template <class T /* _DriveInfo */ >
class TCOM_DriveInfoT : public TComInterface<_DriveInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DriveInfoT() {}
  TCOM_DriveInfoT(_DriveInfo *intf, bool addRef = false) : TComInterface<_DriveInfo>(intf, addRef) {}
  TCOM_DriveInfoT(const TCOM_DriveInfoT& src) : TComInterface<_DriveInfo>(src) {}
  TCOM_DriveInfoT& operator=(const TCOM_DriveInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DriveInfoT<_DriveInfo> TCOM_DriveInfo;

// *********************************************************************//
// DispIntf:  _DriveInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CE83A763-940F-341F-B880-332325EB6F4B}
// *********************************************************************//
template<class T>
class _DriveInfoDispT : public TAutoDriver<_DriveInfo>
{
public:
  _DriveInfoDispT(){}

  _DriveInfoDispT(_DriveInfo *pintf)
  {
    TAutoDriver<_DriveInfo>::Bind(pintf, false);
  }

  _DriveInfoDispT(_DriveInfoPtr pintf)
  {
    TAutoDriver<_DriveInfo>::Bind(pintf, true);
  }

  _DriveInfoDispT& operator=(_DriveInfo *pintf)
  {
    TAutoDriver<_DriveInfo>::Bind(pintf, false);
    return *this;
  }

  _DriveInfoDispT& operator=(_DriveInfoPtr pintf)
  {
    TAutoDriver<_DriveInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DriveInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DriveInfo);
  }


};
typedef _DriveInfoDispT<_DriveInfo> _DriveInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_DriveNotFoundException
// Interface: _DriveNotFoundException
// *********************************************************************//
template <class T /* _DriveNotFoundException */ >
class TCOM_DriveNotFoundExceptionT : public TComInterface<_DriveNotFoundException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DriveNotFoundExceptionT() {}
  TCOM_DriveNotFoundExceptionT(_DriveNotFoundException *intf, bool addRef = false) : TComInterface<_DriveNotFoundException>(intf, addRef) {}
  TCOM_DriveNotFoundExceptionT(const TCOM_DriveNotFoundExceptionT& src) : TComInterface<_DriveNotFoundException>(src) {}
  TCOM_DriveNotFoundExceptionT& operator=(const TCOM_DriveNotFoundExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DriveNotFoundExceptionT<_DriveNotFoundException> TCOM_DriveNotFoundException;

// *********************************************************************//
// DispIntf:  _DriveNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B24E9559-A662-3762-AE33-BC7DFDD538F4}
// *********************************************************************//
template<class T>
class _DriveNotFoundExceptionDispT : public TAutoDriver<_DriveNotFoundException>
{
public:
  _DriveNotFoundExceptionDispT(){}

  _DriveNotFoundExceptionDispT(_DriveNotFoundException *pintf)
  {
    TAutoDriver<_DriveNotFoundException>::Bind(pintf, false);
  }

  _DriveNotFoundExceptionDispT(_DriveNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_DriveNotFoundException>::Bind(pintf, true);
  }

  _DriveNotFoundExceptionDispT& operator=(_DriveNotFoundException *pintf)
  {
    TAutoDriver<_DriveNotFoundException>::Bind(pintf, false);
    return *this;
  }

  _DriveNotFoundExceptionDispT& operator=(_DriveNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_DriveNotFoundException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DriveNotFoundException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DriveNotFoundException);
  }


};
typedef _DriveNotFoundExceptionDispT<_DriveNotFoundException> _DriveNotFoundExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_EndOfStreamException
// Interface: _EndOfStreamException
// *********************************************************************//
template <class T /* _EndOfStreamException */ >
class TCOM_EndOfStreamExceptionT : public TComInterface<_EndOfStreamException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EndOfStreamExceptionT() {}
  TCOM_EndOfStreamExceptionT(_EndOfStreamException *intf, bool addRef = false) : TComInterface<_EndOfStreamException>(intf, addRef) {}
  TCOM_EndOfStreamExceptionT(const TCOM_EndOfStreamExceptionT& src) : TComInterface<_EndOfStreamException>(src) {}
  TCOM_EndOfStreamExceptionT& operator=(const TCOM_EndOfStreamExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EndOfStreamExceptionT<_EndOfStreamException> TCOM_EndOfStreamException;

// *********************************************************************//
// DispIntf:  _EndOfStreamException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D625AFD0-8FD9-3113-A900-43912A54C421}
// *********************************************************************//
template<class T>
class _EndOfStreamExceptionDispT : public TAutoDriver<_EndOfStreamException>
{
public:
  _EndOfStreamExceptionDispT(){}

  _EndOfStreamExceptionDispT(_EndOfStreamException *pintf)
  {
    TAutoDriver<_EndOfStreamException>::Bind(pintf, false);
  }

  _EndOfStreamExceptionDispT(_EndOfStreamExceptionPtr pintf)
  {
    TAutoDriver<_EndOfStreamException>::Bind(pintf, true);
  }

  _EndOfStreamExceptionDispT& operator=(_EndOfStreamException *pintf)
  {
    TAutoDriver<_EndOfStreamException>::Bind(pintf, false);
    return *this;
  }

  _EndOfStreamExceptionDispT& operator=(_EndOfStreamExceptionPtr pintf)
  {
    TAutoDriver<_EndOfStreamException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EndOfStreamException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EndOfStreamException);
  }


};
typedef _EndOfStreamExceptionDispT<_EndOfStreamException> _EndOfStreamExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_File
// Interface: _File
// *********************************************************************//
template <class T /* _File */ >
class TCOM_FileT : public TComInterface<_File>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileT() {}
  TCOM_FileT(_File *intf, bool addRef = false) : TComInterface<_File>(intf, addRef) {}
  TCOM_FileT(const TCOM_FileT& src) : TComInterface<_File>(src) {}
  TCOM_FileT& operator=(const TCOM_FileT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileT<_File> TCOM_File;

// *********************************************************************//
// DispIntf:  _File
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5D59051F-E19D-329A-9962-FD00D552E13D}
// *********************************************************************//
template<class T>
class _FileDispT : public TAutoDriver<_File>
{
public:
  _FileDispT(){}

  _FileDispT(_File *pintf)
  {
    TAutoDriver<_File>::Bind(pintf, false);
  }

  _FileDispT(_FilePtr pintf)
  {
    TAutoDriver<_File>::Bind(pintf, true);
  }

  _FileDispT& operator=(_File *pintf)
  {
    TAutoDriver<_File>::Bind(pintf, false);
    return *this;
  }

  _FileDispT& operator=(_FilePtr pintf)
  {
    TAutoDriver<_File>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_File));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_File);
  }


};
typedef _FileDispT<_File> _FileDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileInfo
// Interface: _FileInfo
// *********************************************************************//
template <class T /* _FileInfo */ >
class TCOM_FileInfoT : public TComInterface<_FileInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileInfoT() {}
  TCOM_FileInfoT(_FileInfo *intf, bool addRef = false) : TComInterface<_FileInfo>(intf, addRef) {}
  TCOM_FileInfoT(const TCOM_FileInfoT& src) : TComInterface<_FileInfo>(src) {}
  TCOM_FileInfoT& operator=(const TCOM_FileInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileInfoT<_FileInfo> TCOM_FileInfo;

// *********************************************************************//
// DispIntf:  _FileInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C3C429F9-8590-3A01-B2B2-434837F3D16D}
// *********************************************************************//
template<class T>
class _FileInfoDispT : public TAutoDriver<_FileInfo>
{
public:
  _FileInfoDispT(){}

  _FileInfoDispT(_FileInfo *pintf)
  {
    TAutoDriver<_FileInfo>::Bind(pintf, false);
  }

  _FileInfoDispT(_FileInfoPtr pintf)
  {
    TAutoDriver<_FileInfo>::Bind(pintf, true);
  }

  _FileInfoDispT& operator=(_FileInfo *pintf)
  {
    TAutoDriver<_FileInfo>::Bind(pintf, false);
    return *this;
  }

  _FileInfoDispT& operator=(_FileInfoPtr pintf)
  {
    TAutoDriver<_FileInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileInfo);
  }


};
typedef _FileInfoDispT<_FileInfo> _FileInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileLoadException
// Interface: _FileLoadException
// *********************************************************************//
template <class T /* _FileLoadException */ >
class TCOM_FileLoadExceptionT : public TComInterface<_FileLoadException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileLoadExceptionT() {}
  TCOM_FileLoadExceptionT(_FileLoadException *intf, bool addRef = false) : TComInterface<_FileLoadException>(intf, addRef) {}
  TCOM_FileLoadExceptionT(const TCOM_FileLoadExceptionT& src) : TComInterface<_FileLoadException>(src) {}
  TCOM_FileLoadExceptionT& operator=(const TCOM_FileLoadExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileLoadExceptionT<_FileLoadException> TCOM_FileLoadException;

// *********************************************************************//
// DispIntf:  _FileLoadException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {51D2C393-9B70-3551-84B5-FF5409FB3ADA}
// *********************************************************************//
template<class T>
class _FileLoadExceptionDispT : public TAutoDriver<_FileLoadException>
{
public:
  _FileLoadExceptionDispT(){}

  _FileLoadExceptionDispT(_FileLoadException *pintf)
  {
    TAutoDriver<_FileLoadException>::Bind(pintf, false);
  }

  _FileLoadExceptionDispT(_FileLoadExceptionPtr pintf)
  {
    TAutoDriver<_FileLoadException>::Bind(pintf, true);
  }

  _FileLoadExceptionDispT& operator=(_FileLoadException *pintf)
  {
    TAutoDriver<_FileLoadException>::Bind(pintf, false);
    return *this;
  }

  _FileLoadExceptionDispT& operator=(_FileLoadExceptionPtr pintf)
  {
    TAutoDriver<_FileLoadException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileLoadException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileLoadException);
  }


};
typedef _FileLoadExceptionDispT<_FileLoadException> _FileLoadExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileNotFoundException
// Interface: _FileNotFoundException
// *********************************************************************//
template <class T /* _FileNotFoundException */ >
class TCOM_FileNotFoundExceptionT : public TComInterface<_FileNotFoundException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileNotFoundExceptionT() {}
  TCOM_FileNotFoundExceptionT(_FileNotFoundException *intf, bool addRef = false) : TComInterface<_FileNotFoundException>(intf, addRef) {}
  TCOM_FileNotFoundExceptionT(const TCOM_FileNotFoundExceptionT& src) : TComInterface<_FileNotFoundException>(src) {}
  TCOM_FileNotFoundExceptionT& operator=(const TCOM_FileNotFoundExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileNotFoundExceptionT<_FileNotFoundException> TCOM_FileNotFoundException;

// *********************************************************************//
// DispIntf:  _FileNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A15A976B-81E3-3EF4-8FF1-D75DDBE20AEF}
// *********************************************************************//
template<class T>
class _FileNotFoundExceptionDispT : public TAutoDriver<_FileNotFoundException>
{
public:
  _FileNotFoundExceptionDispT(){}

  _FileNotFoundExceptionDispT(_FileNotFoundException *pintf)
  {
    TAutoDriver<_FileNotFoundException>::Bind(pintf, false);
  }

  _FileNotFoundExceptionDispT(_FileNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_FileNotFoundException>::Bind(pintf, true);
  }

  _FileNotFoundExceptionDispT& operator=(_FileNotFoundException *pintf)
  {
    TAutoDriver<_FileNotFoundException>::Bind(pintf, false);
    return *this;
  }

  _FileNotFoundExceptionDispT& operator=(_FileNotFoundExceptionPtr pintf)
  {
    TAutoDriver<_FileNotFoundException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileNotFoundException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileNotFoundException);
  }


};
typedef _FileNotFoundExceptionDispT<_FileNotFoundException> _FileNotFoundExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileStream
// Interface: _FileStream
// *********************************************************************//
template <class T /* _FileStream */ >
class TCOM_FileStreamT : public TComInterface<_FileStream>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileStreamT() {}
  TCOM_FileStreamT(_FileStream *intf, bool addRef = false) : TComInterface<_FileStream>(intf, addRef) {}
  TCOM_FileStreamT(const TCOM_FileStreamT& src) : TComInterface<_FileStream>(src) {}
  TCOM_FileStreamT& operator=(const TCOM_FileStreamT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileStreamT<_FileStream> TCOM_FileStream;

// *********************************************************************//
// DispIntf:  _FileStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {74265195-4A46-3D6F-A9DD-69C367EA39C8}
// *********************************************************************//
template<class T>
class _FileStreamDispT : public TAutoDriver<_FileStream>
{
public:
  _FileStreamDispT(){}

  _FileStreamDispT(_FileStream *pintf)
  {
    TAutoDriver<_FileStream>::Bind(pintf, false);
  }

  _FileStreamDispT(_FileStreamPtr pintf)
  {
    TAutoDriver<_FileStream>::Bind(pintf, true);
  }

  _FileStreamDispT& operator=(_FileStream *pintf)
  {
    TAutoDriver<_FileStream>::Bind(pintf, false);
    return *this;
  }

  _FileStreamDispT& operator=(_FileStreamPtr pintf)
  {
    TAutoDriver<_FileStream>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileStream));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileStream);
  }


};
typedef _FileStreamDispT<_FileStream> _FileStreamDisp;

// *********************************************************************//
// SmartIntf: TCOM_MemoryStream
// Interface: _MemoryStream
// *********************************************************************//
template <class T /* _MemoryStream */ >
class TCOM_MemoryStreamT : public TComInterface<_MemoryStream>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MemoryStreamT() {}
  TCOM_MemoryStreamT(_MemoryStream *intf, bool addRef = false) : TComInterface<_MemoryStream>(intf, addRef) {}
  TCOM_MemoryStreamT(const TCOM_MemoryStreamT& src) : TComInterface<_MemoryStream>(src) {}
  TCOM_MemoryStreamT& operator=(const TCOM_MemoryStreamT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MemoryStreamT<_MemoryStream> TCOM_MemoryStream;

// *********************************************************************//
// DispIntf:  _MemoryStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2DBC46FE-B3DD-3858-AFC2-D3A2D492A588}
// *********************************************************************//
template<class T>
class _MemoryStreamDispT : public TAutoDriver<_MemoryStream>
{
public:
  _MemoryStreamDispT(){}

  _MemoryStreamDispT(_MemoryStream *pintf)
  {
    TAutoDriver<_MemoryStream>::Bind(pintf, false);
  }

  _MemoryStreamDispT(_MemoryStreamPtr pintf)
  {
    TAutoDriver<_MemoryStream>::Bind(pintf, true);
  }

  _MemoryStreamDispT& operator=(_MemoryStream *pintf)
  {
    TAutoDriver<_MemoryStream>::Bind(pintf, false);
    return *this;
  }

  _MemoryStreamDispT& operator=(_MemoryStreamPtr pintf)
  {
    TAutoDriver<_MemoryStream>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MemoryStream));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MemoryStream);
  }


};
typedef _MemoryStreamDispT<_MemoryStream> _MemoryStreamDisp;

// *********************************************************************//
// SmartIntf: TCOM_Path
// Interface: _Path
// *********************************************************************//
template <class T /* _Path */ >
class TCOM_PathT : public TComInterface<_Path>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PathT() {}
  TCOM_PathT(_Path *intf, bool addRef = false) : TComInterface<_Path>(intf, addRef) {}
  TCOM_PathT(const TCOM_PathT& src) : TComInterface<_Path>(src) {}
  TCOM_PathT& operator=(const TCOM_PathT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PathT<_Path> TCOM_Path;

// *********************************************************************//
// DispIntf:  _Path
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6DF93530-D276-31D9-8573-346778C650AF}
// *********************************************************************//
template<class T>
class _PathDispT : public TAutoDriver<_Path>
{
public:
  _PathDispT(){}

  _PathDispT(_Path *pintf)
  {
    TAutoDriver<_Path>::Bind(pintf, false);
  }

  _PathDispT(_PathPtr pintf)
  {
    TAutoDriver<_Path>::Bind(pintf, true);
  }

  _PathDispT& operator=(_Path *pintf)
  {
    TAutoDriver<_Path>::Bind(pintf, false);
    return *this;
  }

  _PathDispT& operator=(_PathPtr pintf)
  {
    TAutoDriver<_Path>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Path));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Path);
  }


};
typedef _PathDispT<_Path> _PathDisp;

// *********************************************************************//
// SmartIntf: TCOM_PathTooLongException
// Interface: _PathTooLongException
// *********************************************************************//
template <class T /* _PathTooLongException */ >
class TCOM_PathTooLongExceptionT : public TComInterface<_PathTooLongException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PathTooLongExceptionT() {}
  TCOM_PathTooLongExceptionT(_PathTooLongException *intf, bool addRef = false) : TComInterface<_PathTooLongException>(intf, addRef) {}
  TCOM_PathTooLongExceptionT(const TCOM_PathTooLongExceptionT& src) : TComInterface<_PathTooLongException>(src) {}
  TCOM_PathTooLongExceptionT& operator=(const TCOM_PathTooLongExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PathTooLongExceptionT<_PathTooLongException> TCOM_PathTooLongException;

// *********************************************************************//
// DispIntf:  _PathTooLongException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {468B8EB4-89AC-381B-8F86-5E47EC0648B4}
// *********************************************************************//
template<class T>
class _PathTooLongExceptionDispT : public TAutoDriver<_PathTooLongException>
{
public:
  _PathTooLongExceptionDispT(){}

  _PathTooLongExceptionDispT(_PathTooLongException *pintf)
  {
    TAutoDriver<_PathTooLongException>::Bind(pintf, false);
  }

  _PathTooLongExceptionDispT(_PathTooLongExceptionPtr pintf)
  {
    TAutoDriver<_PathTooLongException>::Bind(pintf, true);
  }

  _PathTooLongExceptionDispT& operator=(_PathTooLongException *pintf)
  {
    TAutoDriver<_PathTooLongException>::Bind(pintf, false);
    return *this;
  }

  _PathTooLongExceptionDispT& operator=(_PathTooLongExceptionPtr pintf)
  {
    TAutoDriver<_PathTooLongException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PathTooLongException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PathTooLongException);
  }


};
typedef _PathTooLongExceptionDispT<_PathTooLongException> _PathTooLongExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_TextReader
// Interface: _TextReader
// *********************************************************************//
template <class T /* _TextReader */ >
class TCOM_TextReaderT : public TComInterface<_TextReader>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TextReaderT() {}
  TCOM_TextReaderT(_TextReader *intf, bool addRef = false) : TComInterface<_TextReader>(intf, addRef) {}
  TCOM_TextReaderT(const TCOM_TextReaderT& src) : TComInterface<_TextReader>(src) {}
  TCOM_TextReaderT& operator=(const TCOM_TextReaderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TextReaderT<_TextReader> TCOM_TextReader;

// *********************************************************************//
// DispIntf:  _TextReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {897471F2-9450-3F03-A41F-D2E1F1397854}
// *********************************************************************//
template<class T>
class _TextReaderDispT : public TAutoDriver<_TextReader>
{
public:
  _TextReaderDispT(){}

  _TextReaderDispT(_TextReader *pintf)
  {
    TAutoDriver<_TextReader>::Bind(pintf, false);
  }

  _TextReaderDispT(_TextReaderPtr pintf)
  {
    TAutoDriver<_TextReader>::Bind(pintf, true);
  }

  _TextReaderDispT& operator=(_TextReader *pintf)
  {
    TAutoDriver<_TextReader>::Bind(pintf, false);
    return *this;
  }

  _TextReaderDispT& operator=(_TextReaderPtr pintf)
  {
    TAutoDriver<_TextReader>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TextReader));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TextReader);
  }


};
typedef _TextReaderDispT<_TextReader> _TextReaderDisp;

// *********************************************************************//
// SmartIntf: TCOM_StreamReader
// Interface: _StreamReader
// *********************************************************************//
template <class T /* _StreamReader */ >
class TCOM_StreamReaderT : public TComInterface<_StreamReader>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StreamReaderT() {}
  TCOM_StreamReaderT(_StreamReader *intf, bool addRef = false) : TComInterface<_StreamReader>(intf, addRef) {}
  TCOM_StreamReaderT(const TCOM_StreamReaderT& src) : TComInterface<_StreamReader>(src) {}
  TCOM_StreamReaderT& operator=(const TCOM_StreamReaderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StreamReaderT<_StreamReader> TCOM_StreamReader;

// *********************************************************************//
// DispIntf:  _StreamReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E645B470-DC3F-3CE0-8104-5837FEDA04B3}
// *********************************************************************//
template<class T>
class _StreamReaderDispT : public TAutoDriver<_StreamReader>
{
public:
  _StreamReaderDispT(){}

  _StreamReaderDispT(_StreamReader *pintf)
  {
    TAutoDriver<_StreamReader>::Bind(pintf, false);
  }

  _StreamReaderDispT(_StreamReaderPtr pintf)
  {
    TAutoDriver<_StreamReader>::Bind(pintf, true);
  }

  _StreamReaderDispT& operator=(_StreamReader *pintf)
  {
    TAutoDriver<_StreamReader>::Bind(pintf, false);
    return *this;
  }

  _StreamReaderDispT& operator=(_StreamReaderPtr pintf)
  {
    TAutoDriver<_StreamReader>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StreamReader));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StreamReader);
  }


};
typedef _StreamReaderDispT<_StreamReader> _StreamReaderDisp;

// *********************************************************************//
// SmartIntf: TCOM_TextWriter
// Interface: _TextWriter
// *********************************************************************//
template <class T /* _TextWriter */ >
class TCOM_TextWriterT : public TComInterface<_TextWriter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TextWriterT() {}
  TCOM_TextWriterT(_TextWriter *intf, bool addRef = false) : TComInterface<_TextWriter>(intf, addRef) {}
  TCOM_TextWriterT(const TCOM_TextWriterT& src) : TComInterface<_TextWriter>(src) {}
  TCOM_TextWriterT& operator=(const TCOM_TextWriterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TextWriterT<_TextWriter> TCOM_TextWriter;

// *********************************************************************//
// DispIntf:  _TextWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {556137EA-8825-30BC-9D49-E47A9DB034EE}
// *********************************************************************//
template<class T>
class _TextWriterDispT : public TAutoDriver<_TextWriter>
{
public:
  _TextWriterDispT(){}

  _TextWriterDispT(_TextWriter *pintf)
  {
    TAutoDriver<_TextWriter>::Bind(pintf, false);
  }

  _TextWriterDispT(_TextWriterPtr pintf)
  {
    TAutoDriver<_TextWriter>::Bind(pintf, true);
  }

  _TextWriterDispT& operator=(_TextWriter *pintf)
  {
    TAutoDriver<_TextWriter>::Bind(pintf, false);
    return *this;
  }

  _TextWriterDispT& operator=(_TextWriterPtr pintf)
  {
    TAutoDriver<_TextWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TextWriter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TextWriter);
  }


};
typedef _TextWriterDispT<_TextWriter> _TextWriterDisp;

// *********************************************************************//
// SmartIntf: TCOM_StreamWriter
// Interface: _StreamWriter
// *********************************************************************//
template <class T /* _StreamWriter */ >
class TCOM_StreamWriterT : public TComInterface<_StreamWriter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StreamWriterT() {}
  TCOM_StreamWriterT(_StreamWriter *intf, bool addRef = false) : TComInterface<_StreamWriter>(intf, addRef) {}
  TCOM_StreamWriterT(const TCOM_StreamWriterT& src) : TComInterface<_StreamWriter>(src) {}
  TCOM_StreamWriterT& operator=(const TCOM_StreamWriterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StreamWriterT<_StreamWriter> TCOM_StreamWriter;

// *********************************************************************//
// DispIntf:  _StreamWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1F124E1C-D05D-3643-A59F-C3DE6051994F}
// *********************************************************************//
template<class T>
class _StreamWriterDispT : public TAutoDriver<_StreamWriter>
{
public:
  _StreamWriterDispT(){}

  _StreamWriterDispT(_StreamWriter *pintf)
  {
    TAutoDriver<_StreamWriter>::Bind(pintf, false);
  }

  _StreamWriterDispT(_StreamWriterPtr pintf)
  {
    TAutoDriver<_StreamWriter>::Bind(pintf, true);
  }

  _StreamWriterDispT& operator=(_StreamWriter *pintf)
  {
    TAutoDriver<_StreamWriter>::Bind(pintf, false);
    return *this;
  }

  _StreamWriterDispT& operator=(_StreamWriterPtr pintf)
  {
    TAutoDriver<_StreamWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StreamWriter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StreamWriter);
  }


};
typedef _StreamWriterDispT<_StreamWriter> _StreamWriterDisp;

// *********************************************************************//
// SmartIntf: TCOM_StringReader
// Interface: _StringReader
// *********************************************************************//
template <class T /* _StringReader */ >
class TCOM_StringReaderT : public TComInterface<_StringReader>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StringReaderT() {}
  TCOM_StringReaderT(_StringReader *intf, bool addRef = false) : TComInterface<_StringReader>(intf, addRef) {}
  TCOM_StringReaderT(const TCOM_StringReaderT& src) : TComInterface<_StringReader>(src) {}
  TCOM_StringReaderT& operator=(const TCOM_StringReaderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StringReaderT<_StringReader> TCOM_StringReader;

// *********************************************************************//
// DispIntf:  _StringReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {59733B03-0EA5-358C-95B5-659FCD9AA0B4}
// *********************************************************************//
template<class T>
class _StringReaderDispT : public TAutoDriver<_StringReader>
{
public:
  _StringReaderDispT(){}

  _StringReaderDispT(_StringReader *pintf)
  {
    TAutoDriver<_StringReader>::Bind(pintf, false);
  }

  _StringReaderDispT(_StringReaderPtr pintf)
  {
    TAutoDriver<_StringReader>::Bind(pintf, true);
  }

  _StringReaderDispT& operator=(_StringReader *pintf)
  {
    TAutoDriver<_StringReader>::Bind(pintf, false);
    return *this;
  }

  _StringReaderDispT& operator=(_StringReaderPtr pintf)
  {
    TAutoDriver<_StringReader>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StringReader));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StringReader);
  }


};
typedef _StringReaderDispT<_StringReader> _StringReaderDisp;

// *********************************************************************//
// SmartIntf: TCOM_StringWriter
// Interface: _StringWriter
// *********************************************************************//
template <class T /* _StringWriter */ >
class TCOM_StringWriterT : public TComInterface<_StringWriter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StringWriterT() {}
  TCOM_StringWriterT(_StringWriter *intf, bool addRef = false) : TComInterface<_StringWriter>(intf, addRef) {}
  TCOM_StringWriterT(const TCOM_StringWriterT& src) : TComInterface<_StringWriter>(src) {}
  TCOM_StringWriterT& operator=(const TCOM_StringWriterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StringWriterT<_StringWriter> TCOM_StringWriter;

// *********************************************************************//
// DispIntf:  _StringWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CB9F94C0-D691-3B62-B0B2-3CE5309CFA62}
// *********************************************************************//
template<class T>
class _StringWriterDispT : public TAutoDriver<_StringWriter>
{
public:
  _StringWriterDispT(){}

  _StringWriterDispT(_StringWriter *pintf)
  {
    TAutoDriver<_StringWriter>::Bind(pintf, false);
  }

  _StringWriterDispT(_StringWriterPtr pintf)
  {
    TAutoDriver<_StringWriter>::Bind(pintf, true);
  }

  _StringWriterDispT& operator=(_StringWriter *pintf)
  {
    TAutoDriver<_StringWriter>::Bind(pintf, false);
    return *this;
  }

  _StringWriterDispT& operator=(_StringWriterPtr pintf)
  {
    TAutoDriver<_StringWriter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StringWriter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StringWriter);
  }


};
typedef _StringWriterDispT<_StringWriter> _StringWriterDisp;

// *********************************************************************//
// SmartIntf: TCOM_AccessedThroughPropertyAttribute
// Interface: _AccessedThroughPropertyAttribute
// *********************************************************************//
template <class T /* _AccessedThroughPropertyAttribute */ >
class TCOM_AccessedThroughPropertyAttributeT : public TComInterface<_AccessedThroughPropertyAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AccessedThroughPropertyAttributeT() {}
  TCOM_AccessedThroughPropertyAttributeT(_AccessedThroughPropertyAttribute *intf, bool addRef = false) : TComInterface<_AccessedThroughPropertyAttribute>(intf, addRef) {}
  TCOM_AccessedThroughPropertyAttributeT(const TCOM_AccessedThroughPropertyAttributeT& src) : TComInterface<_AccessedThroughPropertyAttribute>(src) {}
  TCOM_AccessedThroughPropertyAttributeT& operator=(const TCOM_AccessedThroughPropertyAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AccessedThroughPropertyAttributeT<_AccessedThroughPropertyAttribute> TCOM_AccessedThroughPropertyAttribute;

// *********************************************************************//
// DispIntf:  _AccessedThroughPropertyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {998DCF16-F603-355D-8C89-3B675947997F}
// *********************************************************************//
template<class T>
class _AccessedThroughPropertyAttributeDispT : public TAutoDriver<_AccessedThroughPropertyAttribute>
{
public:
  _AccessedThroughPropertyAttributeDispT(){}

  _AccessedThroughPropertyAttributeDispT(_AccessedThroughPropertyAttribute *pintf)
  {
    TAutoDriver<_AccessedThroughPropertyAttribute>::Bind(pintf, false);
  }

  _AccessedThroughPropertyAttributeDispT(_AccessedThroughPropertyAttributePtr pintf)
  {
    TAutoDriver<_AccessedThroughPropertyAttribute>::Bind(pintf, true);
  }

  _AccessedThroughPropertyAttributeDispT& operator=(_AccessedThroughPropertyAttribute *pintf)
  {
    TAutoDriver<_AccessedThroughPropertyAttribute>::Bind(pintf, false);
    return *this;
  }

  _AccessedThroughPropertyAttributeDispT& operator=(_AccessedThroughPropertyAttributePtr pintf)
  {
    TAutoDriver<_AccessedThroughPropertyAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AccessedThroughPropertyAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AccessedThroughPropertyAttribute);
  }


};
typedef _AccessedThroughPropertyAttributeDispT<_AccessedThroughPropertyAttribute> _AccessedThroughPropertyAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_CallConvCdecl
// Interface: _CallConvCdecl
// *********************************************************************//
template <class T /* _CallConvCdecl */ >
class TCOM_CallConvCdeclT : public TComInterface<_CallConvCdecl>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CallConvCdeclT() {}
  TCOM_CallConvCdeclT(_CallConvCdecl *intf, bool addRef = false) : TComInterface<_CallConvCdecl>(intf, addRef) {}
  TCOM_CallConvCdeclT(const TCOM_CallConvCdeclT& src) : TComInterface<_CallConvCdecl>(src) {}
  TCOM_CallConvCdeclT& operator=(const TCOM_CallConvCdeclT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CallConvCdeclT<_CallConvCdecl> TCOM_CallConvCdecl;

// *********************************************************************//
// DispIntf:  _CallConvCdecl
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A6C2239B-08E6-3822-9769-E3D4B0431B82}
// *********************************************************************//
template<class T>
class _CallConvCdeclDispT : public TAutoDriver<_CallConvCdecl>
{
public:
  _CallConvCdeclDispT(){}

  _CallConvCdeclDispT(_CallConvCdecl *pintf)
  {
    TAutoDriver<_CallConvCdecl>::Bind(pintf, false);
  }

  _CallConvCdeclDispT(_CallConvCdeclPtr pintf)
  {
    TAutoDriver<_CallConvCdecl>::Bind(pintf, true);
  }

  _CallConvCdeclDispT& operator=(_CallConvCdecl *pintf)
  {
    TAutoDriver<_CallConvCdecl>::Bind(pintf, false);
    return *this;
  }

  _CallConvCdeclDispT& operator=(_CallConvCdeclPtr pintf)
  {
    TAutoDriver<_CallConvCdecl>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CallConvCdecl));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CallConvCdecl);
  }


};
typedef _CallConvCdeclDispT<_CallConvCdecl> _CallConvCdeclDisp;

// *********************************************************************//
// SmartIntf: TCOM_CallConvStdcall
// Interface: _CallConvStdcall
// *********************************************************************//
template <class T /* _CallConvStdcall */ >
class TCOM_CallConvStdcallT : public TComInterface<_CallConvStdcall>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CallConvStdcallT() {}
  TCOM_CallConvStdcallT(_CallConvStdcall *intf, bool addRef = false) : TComInterface<_CallConvStdcall>(intf, addRef) {}
  TCOM_CallConvStdcallT(const TCOM_CallConvStdcallT& src) : TComInterface<_CallConvStdcall>(src) {}
  TCOM_CallConvStdcallT& operator=(const TCOM_CallConvStdcallT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CallConvStdcallT<_CallConvStdcall> TCOM_CallConvStdcall;

// *********************************************************************//
// DispIntf:  _CallConvStdcall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8E17A5CD-1160-32DC-8548-407E7C3827C9}
// *********************************************************************//
template<class T>
class _CallConvStdcallDispT : public TAutoDriver<_CallConvStdcall>
{
public:
  _CallConvStdcallDispT(){}

  _CallConvStdcallDispT(_CallConvStdcall *pintf)
  {
    TAutoDriver<_CallConvStdcall>::Bind(pintf, false);
  }

  _CallConvStdcallDispT(_CallConvStdcallPtr pintf)
  {
    TAutoDriver<_CallConvStdcall>::Bind(pintf, true);
  }

  _CallConvStdcallDispT& operator=(_CallConvStdcall *pintf)
  {
    TAutoDriver<_CallConvStdcall>::Bind(pintf, false);
    return *this;
  }

  _CallConvStdcallDispT& operator=(_CallConvStdcallPtr pintf)
  {
    TAutoDriver<_CallConvStdcall>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CallConvStdcall));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CallConvStdcall);
  }


};
typedef _CallConvStdcallDispT<_CallConvStdcall> _CallConvStdcallDisp;

// *********************************************************************//
// SmartIntf: TCOM_CallConvThiscall
// Interface: _CallConvThiscall
// *********************************************************************//
template <class T /* _CallConvThiscall */ >
class TCOM_CallConvThiscallT : public TComInterface<_CallConvThiscall>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CallConvThiscallT() {}
  TCOM_CallConvThiscallT(_CallConvThiscall *intf, bool addRef = false) : TComInterface<_CallConvThiscall>(intf, addRef) {}
  TCOM_CallConvThiscallT(const TCOM_CallConvThiscallT& src) : TComInterface<_CallConvThiscall>(src) {}
  TCOM_CallConvThiscallT& operator=(const TCOM_CallConvThiscallT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CallConvThiscallT<_CallConvThiscall> TCOM_CallConvThiscall;

// *********************************************************************//
// DispIntf:  _CallConvThiscall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FA73DD3D-A472-35ED-B8BE-F99A13581F72}
// *********************************************************************//
template<class T>
class _CallConvThiscallDispT : public TAutoDriver<_CallConvThiscall>
{
public:
  _CallConvThiscallDispT(){}

  _CallConvThiscallDispT(_CallConvThiscall *pintf)
  {
    TAutoDriver<_CallConvThiscall>::Bind(pintf, false);
  }

  _CallConvThiscallDispT(_CallConvThiscallPtr pintf)
  {
    TAutoDriver<_CallConvThiscall>::Bind(pintf, true);
  }

  _CallConvThiscallDispT& operator=(_CallConvThiscall *pintf)
  {
    TAutoDriver<_CallConvThiscall>::Bind(pintf, false);
    return *this;
  }

  _CallConvThiscallDispT& operator=(_CallConvThiscallPtr pintf)
  {
    TAutoDriver<_CallConvThiscall>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CallConvThiscall));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CallConvThiscall);
  }


};
typedef _CallConvThiscallDispT<_CallConvThiscall> _CallConvThiscallDisp;

// *********************************************************************//
// SmartIntf: TCOM_CallConvFastcall
// Interface: _CallConvFastcall
// *********************************************************************//
template <class T /* _CallConvFastcall */ >
class TCOM_CallConvFastcallT : public TComInterface<_CallConvFastcall>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CallConvFastcallT() {}
  TCOM_CallConvFastcallT(_CallConvFastcall *intf, bool addRef = false) : TComInterface<_CallConvFastcall>(intf, addRef) {}
  TCOM_CallConvFastcallT(const TCOM_CallConvFastcallT& src) : TComInterface<_CallConvFastcall>(src) {}
  TCOM_CallConvFastcallT& operator=(const TCOM_CallConvFastcallT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CallConvFastcallT<_CallConvFastcall> TCOM_CallConvFastcall;

// *********************************************************************//
// DispIntf:  _CallConvFastcall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3B452D17-3C5E-36C4-A12D-5E9276036CF8}
// *********************************************************************//
template<class T>
class _CallConvFastcallDispT : public TAutoDriver<_CallConvFastcall>
{
public:
  _CallConvFastcallDispT(){}

  _CallConvFastcallDispT(_CallConvFastcall *pintf)
  {
    TAutoDriver<_CallConvFastcall>::Bind(pintf, false);
  }

  _CallConvFastcallDispT(_CallConvFastcallPtr pintf)
  {
    TAutoDriver<_CallConvFastcall>::Bind(pintf, true);
  }

  _CallConvFastcallDispT& operator=(_CallConvFastcall *pintf)
  {
    TAutoDriver<_CallConvFastcall>::Bind(pintf, false);
    return *this;
  }

  _CallConvFastcallDispT& operator=(_CallConvFastcallPtr pintf)
  {
    TAutoDriver<_CallConvFastcall>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CallConvFastcall));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CallConvFastcall);
  }


};
typedef _CallConvFastcallDispT<_CallConvFastcall> _CallConvFastcallDisp;

// *********************************************************************//
// SmartIntf: TCOM_CustomConstantAttribute
// Interface: _CustomConstantAttribute
// *********************************************************************//
template <class T /* _CustomConstantAttribute */ >
class TCOM_CustomConstantAttributeT : public TComInterface<_CustomConstantAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CustomConstantAttributeT() {}
  TCOM_CustomConstantAttributeT(_CustomConstantAttribute *intf, bool addRef = false) : TComInterface<_CustomConstantAttribute>(intf, addRef) {}
  TCOM_CustomConstantAttributeT(const TCOM_CustomConstantAttributeT& src) : TComInterface<_CustomConstantAttribute>(src) {}
  TCOM_CustomConstantAttributeT& operator=(const TCOM_CustomConstantAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CustomConstantAttributeT<_CustomConstantAttribute> TCOM_CustomConstantAttribute;

// *********************************************************************//
// DispIntf:  _CustomConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {62CAF4A2-6A78-3FC7-AF81-A6BBF930761F}
// *********************************************************************//
template<class T>
class _CustomConstantAttributeDispT : public TAutoDriver<_CustomConstantAttribute>
{
public:
  _CustomConstantAttributeDispT(){}

  _CustomConstantAttributeDispT(_CustomConstantAttribute *pintf)
  {
    TAutoDriver<_CustomConstantAttribute>::Bind(pintf, false);
  }

  _CustomConstantAttributeDispT(_CustomConstantAttributePtr pintf)
  {
    TAutoDriver<_CustomConstantAttribute>::Bind(pintf, true);
  }

  _CustomConstantAttributeDispT& operator=(_CustomConstantAttribute *pintf)
  {
    TAutoDriver<_CustomConstantAttribute>::Bind(pintf, false);
    return *this;
  }

  _CustomConstantAttributeDispT& operator=(_CustomConstantAttributePtr pintf)
  {
    TAutoDriver<_CustomConstantAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CustomConstantAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CustomConstantAttribute);
  }


};
typedef _CustomConstantAttributeDispT<_CustomConstantAttribute> _CustomConstantAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DateTimeConstantAttribute
// Interface: _DateTimeConstantAttribute
// *********************************************************************//
template <class T /* _DateTimeConstantAttribute */ >
class TCOM_DateTimeConstantAttributeT : public TComInterface<_DateTimeConstantAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DateTimeConstantAttributeT() {}
  TCOM_DateTimeConstantAttributeT(_DateTimeConstantAttribute *intf, bool addRef = false) : TComInterface<_DateTimeConstantAttribute>(intf, addRef) {}
  TCOM_DateTimeConstantAttributeT(const TCOM_DateTimeConstantAttributeT& src) : TComInterface<_DateTimeConstantAttribute>(src) {}
  TCOM_DateTimeConstantAttributeT& operator=(const TCOM_DateTimeConstantAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DateTimeConstantAttributeT<_DateTimeConstantAttribute> TCOM_DateTimeConstantAttribute;

// *********************************************************************//
// DispIntf:  _DateTimeConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EF387020-B664-3ACD-A1D2-806345845953}
// *********************************************************************//
template<class T>
class _DateTimeConstantAttributeDispT : public TAutoDriver<_DateTimeConstantAttribute>
{
public:
  _DateTimeConstantAttributeDispT(){}

  _DateTimeConstantAttributeDispT(_DateTimeConstantAttribute *pintf)
  {
    TAutoDriver<_DateTimeConstantAttribute>::Bind(pintf, false);
  }

  _DateTimeConstantAttributeDispT(_DateTimeConstantAttributePtr pintf)
  {
    TAutoDriver<_DateTimeConstantAttribute>::Bind(pintf, true);
  }

  _DateTimeConstantAttributeDispT& operator=(_DateTimeConstantAttribute *pintf)
  {
    TAutoDriver<_DateTimeConstantAttribute>::Bind(pintf, false);
    return *this;
  }

  _DateTimeConstantAttributeDispT& operator=(_DateTimeConstantAttributePtr pintf)
  {
    TAutoDriver<_DateTimeConstantAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DateTimeConstantAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DateTimeConstantAttribute);
  }


};
typedef _DateTimeConstantAttributeDispT<_DateTimeConstantAttribute> _DateTimeConstantAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DiscardableAttribute
// Interface: _DiscardableAttribute
// *********************************************************************//
template <class T /* _DiscardableAttribute */ >
class TCOM_DiscardableAttributeT : public TComInterface<_DiscardableAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DiscardableAttributeT() {}
  TCOM_DiscardableAttributeT(_DiscardableAttribute *intf, bool addRef = false) : TComInterface<_DiscardableAttribute>(intf, addRef) {}
  TCOM_DiscardableAttributeT(const TCOM_DiscardableAttributeT& src) : TComInterface<_DiscardableAttribute>(src) {}
  TCOM_DiscardableAttributeT& operator=(const TCOM_DiscardableAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DiscardableAttributeT<_DiscardableAttribute> TCOM_DiscardableAttribute;

// *********************************************************************//
// DispIntf:  _DiscardableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3C3A8C69-7417-32FA-AA20-762D85E1B594}
// *********************************************************************//
template<class T>
class _DiscardableAttributeDispT : public TAutoDriver<_DiscardableAttribute>
{
public:
  _DiscardableAttributeDispT(){}

  _DiscardableAttributeDispT(_DiscardableAttribute *pintf)
  {
    TAutoDriver<_DiscardableAttribute>::Bind(pintf, false);
  }

  _DiscardableAttributeDispT(_DiscardableAttributePtr pintf)
  {
    TAutoDriver<_DiscardableAttribute>::Bind(pintf, true);
  }

  _DiscardableAttributeDispT& operator=(_DiscardableAttribute *pintf)
  {
    TAutoDriver<_DiscardableAttribute>::Bind(pintf, false);
    return *this;
  }

  _DiscardableAttributeDispT& operator=(_DiscardableAttributePtr pintf)
  {
    TAutoDriver<_DiscardableAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DiscardableAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DiscardableAttribute);
  }


};
typedef _DiscardableAttributeDispT<_DiscardableAttribute> _DiscardableAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_DecimalConstantAttribute
// Interface: _DecimalConstantAttribute
// *********************************************************************//
template <class T /* _DecimalConstantAttribute */ >
class TCOM_DecimalConstantAttributeT : public TComInterface<_DecimalConstantAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DecimalConstantAttributeT() {}
  TCOM_DecimalConstantAttributeT(_DecimalConstantAttribute *intf, bool addRef = false) : TComInterface<_DecimalConstantAttribute>(intf, addRef) {}
  TCOM_DecimalConstantAttributeT(const TCOM_DecimalConstantAttributeT& src) : TComInterface<_DecimalConstantAttribute>(src) {}
  TCOM_DecimalConstantAttributeT& operator=(const TCOM_DecimalConstantAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DecimalConstantAttributeT<_DecimalConstantAttribute> TCOM_DecimalConstantAttribute;

// *********************************************************************//
// DispIntf:  _DecimalConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7E133967-CCEC-3E89-8BD2-6CFCA649ECBF}
// *********************************************************************//
template<class T>
class _DecimalConstantAttributeDispT : public TAutoDriver<_DecimalConstantAttribute>
{
public:
  _DecimalConstantAttributeDispT(){}

  _DecimalConstantAttributeDispT(_DecimalConstantAttribute *pintf)
  {
    TAutoDriver<_DecimalConstantAttribute>::Bind(pintf, false);
  }

  _DecimalConstantAttributeDispT(_DecimalConstantAttributePtr pintf)
  {
    TAutoDriver<_DecimalConstantAttribute>::Bind(pintf, true);
  }

  _DecimalConstantAttributeDispT& operator=(_DecimalConstantAttribute *pintf)
  {
    TAutoDriver<_DecimalConstantAttribute>::Bind(pintf, false);
    return *this;
  }

  _DecimalConstantAttributeDispT& operator=(_DecimalConstantAttributePtr pintf)
  {
    TAutoDriver<_DecimalConstantAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DecimalConstantAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DecimalConstantAttribute);
  }


};
typedef _DecimalConstantAttributeDispT<_DecimalConstantAttribute> _DecimalConstantAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_CompilationRelaxationsAttribute
// Interface: _CompilationRelaxationsAttribute
// *********************************************************************//
template <class T /* _CompilationRelaxationsAttribute */ >
class TCOM_CompilationRelaxationsAttributeT : public TComInterface<_CompilationRelaxationsAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CompilationRelaxationsAttributeT() {}
  TCOM_CompilationRelaxationsAttributeT(_CompilationRelaxationsAttribute *intf, bool addRef = false) : TComInterface<_CompilationRelaxationsAttribute>(intf, addRef) {}
  TCOM_CompilationRelaxationsAttributeT(const TCOM_CompilationRelaxationsAttributeT& src) : TComInterface<_CompilationRelaxationsAttribute>(src) {}
  TCOM_CompilationRelaxationsAttributeT& operator=(const TCOM_CompilationRelaxationsAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CompilationRelaxationsAttributeT<_CompilationRelaxationsAttribute> TCOM_CompilationRelaxationsAttribute;

// *********************************************************************//
// DispIntf:  _CompilationRelaxationsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C5C4F625-2329-3382-8994-AAF561E5DFE9}
// *********************************************************************//
template<class T>
class _CompilationRelaxationsAttributeDispT : public TAutoDriver<_CompilationRelaxationsAttribute>
{
public:
  _CompilationRelaxationsAttributeDispT(){}

  _CompilationRelaxationsAttributeDispT(_CompilationRelaxationsAttribute *pintf)
  {
    TAutoDriver<_CompilationRelaxationsAttribute>::Bind(pintf, false);
  }

  _CompilationRelaxationsAttributeDispT(_CompilationRelaxationsAttributePtr pintf)
  {
    TAutoDriver<_CompilationRelaxationsAttribute>::Bind(pintf, true);
  }

  _CompilationRelaxationsAttributeDispT& operator=(_CompilationRelaxationsAttribute *pintf)
  {
    TAutoDriver<_CompilationRelaxationsAttribute>::Bind(pintf, false);
    return *this;
  }

  _CompilationRelaxationsAttributeDispT& operator=(_CompilationRelaxationsAttributePtr pintf)
  {
    TAutoDriver<_CompilationRelaxationsAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CompilationRelaxationsAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CompilationRelaxationsAttribute);
  }


};
typedef _CompilationRelaxationsAttributeDispT<_CompilationRelaxationsAttribute> _CompilationRelaxationsAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_CompilerGlobalScopeAttribute
// Interface: _CompilerGlobalScopeAttribute
// *********************************************************************//
template <class T /* _CompilerGlobalScopeAttribute */ >
class TCOM_CompilerGlobalScopeAttributeT : public TComInterface<_CompilerGlobalScopeAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CompilerGlobalScopeAttributeT() {}
  TCOM_CompilerGlobalScopeAttributeT(_CompilerGlobalScopeAttribute *intf, bool addRef = false) : TComInterface<_CompilerGlobalScopeAttribute>(intf, addRef) {}
  TCOM_CompilerGlobalScopeAttributeT(const TCOM_CompilerGlobalScopeAttributeT& src) : TComInterface<_CompilerGlobalScopeAttribute>(src) {}
  TCOM_CompilerGlobalScopeAttributeT& operator=(const TCOM_CompilerGlobalScopeAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CompilerGlobalScopeAttributeT<_CompilerGlobalScopeAttribute> TCOM_CompilerGlobalScopeAttribute;

// *********************************************************************//
// DispIntf:  _CompilerGlobalScopeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1EED213E-656A-3A73-A4B9-0D3B26FD942B}
// *********************************************************************//
template<class T>
class _CompilerGlobalScopeAttributeDispT : public TAutoDriver<_CompilerGlobalScopeAttribute>
{
public:
  _CompilerGlobalScopeAttributeDispT(){}

  _CompilerGlobalScopeAttributeDispT(_CompilerGlobalScopeAttribute *pintf)
  {
    TAutoDriver<_CompilerGlobalScopeAttribute>::Bind(pintf, false);
  }

  _CompilerGlobalScopeAttributeDispT(_CompilerGlobalScopeAttributePtr pintf)
  {
    TAutoDriver<_CompilerGlobalScopeAttribute>::Bind(pintf, true);
  }

  _CompilerGlobalScopeAttributeDispT& operator=(_CompilerGlobalScopeAttribute *pintf)
  {
    TAutoDriver<_CompilerGlobalScopeAttribute>::Bind(pintf, false);
    return *this;
  }

  _CompilerGlobalScopeAttributeDispT& operator=(_CompilerGlobalScopeAttributePtr pintf)
  {
    TAutoDriver<_CompilerGlobalScopeAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CompilerGlobalScopeAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CompilerGlobalScopeAttribute);
  }


};
typedef _CompilerGlobalScopeAttributeDispT<_CompilerGlobalScopeAttribute> _CompilerGlobalScopeAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IndexerNameAttribute
// Interface: _IndexerNameAttribute
// *********************************************************************//
template <class T /* _IndexerNameAttribute */ >
class TCOM_IndexerNameAttributeT : public TComInterface<_IndexerNameAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IndexerNameAttributeT() {}
  TCOM_IndexerNameAttributeT(_IndexerNameAttribute *intf, bool addRef = false) : TComInterface<_IndexerNameAttribute>(intf, addRef) {}
  TCOM_IndexerNameAttributeT(const TCOM_IndexerNameAttributeT& src) : TComInterface<_IndexerNameAttribute>(src) {}
  TCOM_IndexerNameAttributeT& operator=(const TCOM_IndexerNameAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IndexerNameAttributeT<_IndexerNameAttribute> TCOM_IndexerNameAttribute;

// *********************************************************************//
// DispIntf:  _IndexerNameAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {243368F5-67C9-3510-9424-335A8A67772F}
// *********************************************************************//
template<class T>
class _IndexerNameAttributeDispT : public TAutoDriver<_IndexerNameAttribute>
{
public:
  _IndexerNameAttributeDispT(){}

  _IndexerNameAttributeDispT(_IndexerNameAttribute *pintf)
  {
    TAutoDriver<_IndexerNameAttribute>::Bind(pintf, false);
  }

  _IndexerNameAttributeDispT(_IndexerNameAttributePtr pintf)
  {
    TAutoDriver<_IndexerNameAttribute>::Bind(pintf, true);
  }

  _IndexerNameAttributeDispT& operator=(_IndexerNameAttribute *pintf)
  {
    TAutoDriver<_IndexerNameAttribute>::Bind(pintf, false);
    return *this;
  }

  _IndexerNameAttributeDispT& operator=(_IndexerNameAttributePtr pintf)
  {
    TAutoDriver<_IndexerNameAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IndexerNameAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IndexerNameAttribute);
  }


};
typedef _IndexerNameAttributeDispT<_IndexerNameAttribute> _IndexerNameAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsVolatile
// Interface: _IsVolatile
// *********************************************************************//
template <class T /* _IsVolatile */ >
class TCOM_IsVolatileT : public TComInterface<_IsVolatile>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsVolatileT() {}
  TCOM_IsVolatileT(_IsVolatile *intf, bool addRef = false) : TComInterface<_IsVolatile>(intf, addRef) {}
  TCOM_IsVolatileT(const TCOM_IsVolatileT& src) : TComInterface<_IsVolatile>(src) {}
  TCOM_IsVolatileT& operator=(const TCOM_IsVolatileT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsVolatileT<_IsVolatile> TCOM_IsVolatile;

// *********************************************************************//
// DispIntf:  _IsVolatile
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0278C819-0C06-3756-B053-601A3E566D9B}
// *********************************************************************//
template<class T>
class _IsVolatileDispT : public TAutoDriver<_IsVolatile>
{
public:
  _IsVolatileDispT(){}

  _IsVolatileDispT(_IsVolatile *pintf)
  {
    TAutoDriver<_IsVolatile>::Bind(pintf, false);
  }

  _IsVolatileDispT(_IsVolatilePtr pintf)
  {
    TAutoDriver<_IsVolatile>::Bind(pintf, true);
  }

  _IsVolatileDispT& operator=(_IsVolatile *pintf)
  {
    TAutoDriver<_IsVolatile>::Bind(pintf, false);
    return *this;
  }

  _IsVolatileDispT& operator=(_IsVolatilePtr pintf)
  {
    TAutoDriver<_IsVolatile>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsVolatile));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsVolatile);
  }


};
typedef _IsVolatileDispT<_IsVolatile> _IsVolatileDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodImplAttribute
// Interface: _MethodImplAttribute
// *********************************************************************//
template <class T /* _MethodImplAttribute */ >
class TCOM_MethodImplAttributeT : public TComInterface<_MethodImplAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodImplAttributeT() {}
  TCOM_MethodImplAttributeT(_MethodImplAttribute *intf, bool addRef = false) : TComInterface<_MethodImplAttribute>(intf, addRef) {}
  TCOM_MethodImplAttributeT(const TCOM_MethodImplAttributeT& src) : TComInterface<_MethodImplAttribute>(src) {}
  TCOM_MethodImplAttributeT& operator=(const TCOM_MethodImplAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MethodImplAttributeT<_MethodImplAttribute> TCOM_MethodImplAttribute;

// *********************************************************************//
// DispIntf:  _MethodImplAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {98966503-5D80-3242-83EF-79E136F6B954}
// *********************************************************************//
template<class T>
class _MethodImplAttributeDispT : public TAutoDriver<_MethodImplAttribute>
{
public:
  _MethodImplAttributeDispT(){}

  _MethodImplAttributeDispT(_MethodImplAttribute *pintf)
  {
    TAutoDriver<_MethodImplAttribute>::Bind(pintf, false);
  }

  _MethodImplAttributeDispT(_MethodImplAttributePtr pintf)
  {
    TAutoDriver<_MethodImplAttribute>::Bind(pintf, true);
  }

  _MethodImplAttributeDispT& operator=(_MethodImplAttribute *pintf)
  {
    TAutoDriver<_MethodImplAttribute>::Bind(pintf, false);
    return *this;
  }

  _MethodImplAttributeDispT& operator=(_MethodImplAttributePtr pintf)
  {
    TAutoDriver<_MethodImplAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MethodImplAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MethodImplAttribute);
  }


};
typedef _MethodImplAttributeDispT<_MethodImplAttribute> _MethodImplAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_RequiredAttributeAttribute
// Interface: _RequiredAttributeAttribute
// *********************************************************************//
template <class T /* _RequiredAttributeAttribute */ >
class TCOM_RequiredAttributeAttributeT : public TComInterface<_RequiredAttributeAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RequiredAttributeAttributeT() {}
  TCOM_RequiredAttributeAttributeT(_RequiredAttributeAttribute *intf, bool addRef = false) : TComInterface<_RequiredAttributeAttribute>(intf, addRef) {}
  TCOM_RequiredAttributeAttributeT(const TCOM_RequiredAttributeAttributeT& src) : TComInterface<_RequiredAttributeAttribute>(src) {}
  TCOM_RequiredAttributeAttributeT& operator=(const TCOM_RequiredAttributeAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RequiredAttributeAttributeT<_RequiredAttributeAttribute> TCOM_RequiredAttributeAttribute;

// *********************************************************************//
// DispIntf:  _RequiredAttributeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DB2C11D9-3870-35E7-A10C-A3DDC3DC79B1}
// *********************************************************************//
template<class T>
class _RequiredAttributeAttributeDispT : public TAutoDriver<_RequiredAttributeAttribute>
{
public:
  _RequiredAttributeAttributeDispT(){}

  _RequiredAttributeAttributeDispT(_RequiredAttributeAttribute *pintf)
  {
    TAutoDriver<_RequiredAttributeAttribute>::Bind(pintf, false);
  }

  _RequiredAttributeAttributeDispT(_RequiredAttributeAttributePtr pintf)
  {
    TAutoDriver<_RequiredAttributeAttribute>::Bind(pintf, true);
  }

  _RequiredAttributeAttributeDispT& operator=(_RequiredAttributeAttribute *pintf)
  {
    TAutoDriver<_RequiredAttributeAttribute>::Bind(pintf, false);
    return *this;
  }

  _RequiredAttributeAttributeDispT& operator=(_RequiredAttributeAttributePtr pintf)
  {
    TAutoDriver<_RequiredAttributeAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RequiredAttributeAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RequiredAttributeAttribute);
  }


};
typedef _RequiredAttributeAttributeDispT<_RequiredAttributeAttribute> _RequiredAttributeAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsCopyConstructed
// Interface: _IsCopyConstructed
// *********************************************************************//
template <class T /* _IsCopyConstructed */ >
class TCOM_IsCopyConstructedT : public TComInterface<_IsCopyConstructed>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsCopyConstructedT() {}
  TCOM_IsCopyConstructedT(_IsCopyConstructed *intf, bool addRef = false) : TComInterface<_IsCopyConstructed>(intf, addRef) {}
  TCOM_IsCopyConstructedT(const TCOM_IsCopyConstructedT& src) : TComInterface<_IsCopyConstructed>(src) {}
  TCOM_IsCopyConstructedT& operator=(const TCOM_IsCopyConstructedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsCopyConstructedT<_IsCopyConstructed> TCOM_IsCopyConstructed;

// *********************************************************************//
// DispIntf:  _IsCopyConstructed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F68A4008-AB94-3370-A9AC-8CC99939F534}
// *********************************************************************//
template<class T>
class _IsCopyConstructedDispT : public TAutoDriver<_IsCopyConstructed>
{
public:
  _IsCopyConstructedDispT(){}

  _IsCopyConstructedDispT(_IsCopyConstructed *pintf)
  {
    TAutoDriver<_IsCopyConstructed>::Bind(pintf, false);
  }

  _IsCopyConstructedDispT(_IsCopyConstructedPtr pintf)
  {
    TAutoDriver<_IsCopyConstructed>::Bind(pintf, true);
  }

  _IsCopyConstructedDispT& operator=(_IsCopyConstructed *pintf)
  {
    TAutoDriver<_IsCopyConstructed>::Bind(pintf, false);
    return *this;
  }

  _IsCopyConstructedDispT& operator=(_IsCopyConstructedPtr pintf)
  {
    TAutoDriver<_IsCopyConstructed>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsCopyConstructed));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsCopyConstructed);
  }


};
typedef _IsCopyConstructedDispT<_IsCopyConstructed> _IsCopyConstructedDisp;

// *********************************************************************//
// SmartIntf: TCOM_NativeCppClassAttribute
// Interface: _NativeCppClassAttribute
// *********************************************************************//
template <class T /* _NativeCppClassAttribute */ >
class TCOM_NativeCppClassAttributeT : public TComInterface<_NativeCppClassAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NativeCppClassAttributeT() {}
  TCOM_NativeCppClassAttributeT(_NativeCppClassAttribute *intf, bool addRef = false) : TComInterface<_NativeCppClassAttribute>(intf, addRef) {}
  TCOM_NativeCppClassAttributeT(const TCOM_NativeCppClassAttributeT& src) : TComInterface<_NativeCppClassAttribute>(src) {}
  TCOM_NativeCppClassAttributeT& operator=(const TCOM_NativeCppClassAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NativeCppClassAttributeT<_NativeCppClassAttribute> TCOM_NativeCppClassAttribute;

// *********************************************************************//
// DispIntf:  _NativeCppClassAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {40E8E914-DC23-38A6-936B-90E4E3AB01FA}
// *********************************************************************//
template<class T>
class _NativeCppClassAttributeDispT : public TAutoDriver<_NativeCppClassAttribute>
{
public:
  _NativeCppClassAttributeDispT(){}

  _NativeCppClassAttributeDispT(_NativeCppClassAttribute *pintf)
  {
    TAutoDriver<_NativeCppClassAttribute>::Bind(pintf, false);
  }

  _NativeCppClassAttributeDispT(_NativeCppClassAttributePtr pintf)
  {
    TAutoDriver<_NativeCppClassAttribute>::Bind(pintf, true);
  }

  _NativeCppClassAttributeDispT& operator=(_NativeCppClassAttribute *pintf)
  {
    TAutoDriver<_NativeCppClassAttribute>::Bind(pintf, false);
    return *this;
  }

  _NativeCppClassAttributeDispT& operator=(_NativeCppClassAttributePtr pintf)
  {
    TAutoDriver<_NativeCppClassAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NativeCppClassAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NativeCppClassAttribute);
  }


};
typedef _NativeCppClassAttributeDispT<_NativeCppClassAttribute> _NativeCppClassAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IDispatchConstantAttribute
// Interface: _IDispatchConstantAttribute
// *********************************************************************//
template <class T /* _IDispatchConstantAttribute */ >
class TCOM_IDispatchConstantAttributeT : public TComInterface<_IDispatchConstantAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IDispatchConstantAttributeT() {}
  TCOM_IDispatchConstantAttributeT(_IDispatchConstantAttribute *intf, bool addRef = false) : TComInterface<_IDispatchConstantAttribute>(intf, addRef) {}
  TCOM_IDispatchConstantAttributeT(const TCOM_IDispatchConstantAttributeT& src) : TComInterface<_IDispatchConstantAttribute>(src) {}
  TCOM_IDispatchConstantAttributeT& operator=(const TCOM_IDispatchConstantAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IDispatchConstantAttributeT<_IDispatchConstantAttribute> TCOM_IDispatchConstantAttribute;

// *********************************************************************//
// DispIntf:  _IDispatchConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {97D0B28A-6932-3D74-B67F-6BCD3C921E7D}
// *********************************************************************//
template<class T>
class _IDispatchConstantAttributeDispT : public TAutoDriver<_IDispatchConstantAttribute>
{
public:
  _IDispatchConstantAttributeDispT(){}

  _IDispatchConstantAttributeDispT(_IDispatchConstantAttribute *pintf)
  {
    TAutoDriver<_IDispatchConstantAttribute>::Bind(pintf, false);
  }

  _IDispatchConstantAttributeDispT(_IDispatchConstantAttributePtr pintf)
  {
    TAutoDriver<_IDispatchConstantAttribute>::Bind(pintf, true);
  }

  _IDispatchConstantAttributeDispT& operator=(_IDispatchConstantAttribute *pintf)
  {
    TAutoDriver<_IDispatchConstantAttribute>::Bind(pintf, false);
    return *this;
  }

  _IDispatchConstantAttributeDispT& operator=(_IDispatchConstantAttributePtr pintf)
  {
    TAutoDriver<_IDispatchConstantAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IDispatchConstantAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IDispatchConstantAttribute);
  }


};
typedef _IDispatchConstantAttributeDispT<_IDispatchConstantAttribute> _IDispatchConstantAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IUnknownConstantAttribute
// Interface: _IUnknownConstantAttribute
// *********************************************************************//
template <class T /* _IUnknownConstantAttribute */ >
class TCOM_IUnknownConstantAttributeT : public TComInterface<_IUnknownConstantAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IUnknownConstantAttributeT() {}
  TCOM_IUnknownConstantAttributeT(_IUnknownConstantAttribute *intf, bool addRef = false) : TComInterface<_IUnknownConstantAttribute>(intf, addRef) {}
  TCOM_IUnknownConstantAttributeT(const TCOM_IUnknownConstantAttributeT& src) : TComInterface<_IUnknownConstantAttribute>(src) {}
  TCOM_IUnknownConstantAttributeT& operator=(const TCOM_IUnknownConstantAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IUnknownConstantAttributeT<_IUnknownConstantAttribute> TCOM_IUnknownConstantAttribute;

// *********************************************************************//
// DispIntf:  _IUnknownConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {54542649-CE64-3F96-BCE5-FDE3BB22F242}
// *********************************************************************//
template<class T>
class _IUnknownConstantAttributeDispT : public TAutoDriver<_IUnknownConstantAttribute>
{
public:
  _IUnknownConstantAttributeDispT(){}

  _IUnknownConstantAttributeDispT(_IUnknownConstantAttribute *pintf)
  {
    TAutoDriver<_IUnknownConstantAttribute>::Bind(pintf, false);
  }

  _IUnknownConstantAttributeDispT(_IUnknownConstantAttributePtr pintf)
  {
    TAutoDriver<_IUnknownConstantAttribute>::Bind(pintf, true);
  }

  _IUnknownConstantAttributeDispT& operator=(_IUnknownConstantAttribute *pintf)
  {
    TAutoDriver<_IUnknownConstantAttribute>::Bind(pintf, false);
    return *this;
  }

  _IUnknownConstantAttributeDispT& operator=(_IUnknownConstantAttributePtr pintf)
  {
    TAutoDriver<_IUnknownConstantAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IUnknownConstantAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IUnknownConstantAttribute);
  }


};
typedef _IUnknownConstantAttributeDispT<_IUnknownConstantAttribute> _IUnknownConstantAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SecurityElement
// Interface: _SecurityElement
// *********************************************************************//
template <class T /* _SecurityElement */ >
class TCOM_SecurityElementT : public TComInterface<_SecurityElement>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SecurityElementT() {}
  TCOM_SecurityElementT(_SecurityElement *intf, bool addRef = false) : TComInterface<_SecurityElement>(intf, addRef) {}
  TCOM_SecurityElementT(const TCOM_SecurityElementT& src) : TComInterface<_SecurityElement>(src) {}
  TCOM_SecurityElementT& operator=(const TCOM_SecurityElementT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SecurityElementT<_SecurityElement> TCOM_SecurityElement;

// *********************************************************************//
// DispIntf:  _SecurityElement
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8D597C42-2CFD-32B6-B6D6-86C9E2CFF00A}
// *********************************************************************//
template<class T>
class _SecurityElementDispT : public TAutoDriver<_SecurityElement>
{
public:
  _SecurityElementDispT(){}

  _SecurityElementDispT(_SecurityElement *pintf)
  {
    TAutoDriver<_SecurityElement>::Bind(pintf, false);
  }

  _SecurityElementDispT(_SecurityElementPtr pintf)
  {
    TAutoDriver<_SecurityElement>::Bind(pintf, true);
  }

  _SecurityElementDispT& operator=(_SecurityElement *pintf)
  {
    TAutoDriver<_SecurityElement>::Bind(pintf, false);
    return *this;
  }

  _SecurityElementDispT& operator=(_SecurityElementPtr pintf)
  {
    TAutoDriver<_SecurityElement>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SecurityElement));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SecurityElement);
  }


};
typedef _SecurityElementDispT<_SecurityElement> _SecurityElementDisp;

// *********************************************************************//
// SmartIntf: TCOM_XmlSyntaxException
// Interface: _XmlSyntaxException
// *********************************************************************//
template <class T /* _XmlSyntaxException */ >
class TCOM_XmlSyntaxExceptionT : public TComInterface<_XmlSyntaxException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_XmlSyntaxExceptionT() {}
  TCOM_XmlSyntaxExceptionT(_XmlSyntaxException *intf, bool addRef = false) : TComInterface<_XmlSyntaxException>(intf, addRef) {}
  TCOM_XmlSyntaxExceptionT(const TCOM_XmlSyntaxExceptionT& src) : TComInterface<_XmlSyntaxException>(src) {}
  TCOM_XmlSyntaxExceptionT& operator=(const TCOM_XmlSyntaxExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_XmlSyntaxExceptionT<_XmlSyntaxException> TCOM_XmlSyntaxException;

// *********************************************************************//
// DispIntf:  _XmlSyntaxException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9FCAD88-D869-3788-A802-1B1E007C7A22}
// *********************************************************************//
template<class T>
class _XmlSyntaxExceptionDispT : public TAutoDriver<_XmlSyntaxException>
{
public:
  _XmlSyntaxExceptionDispT(){}

  _XmlSyntaxExceptionDispT(_XmlSyntaxException *pintf)
  {
    TAutoDriver<_XmlSyntaxException>::Bind(pintf, false);
  }

  _XmlSyntaxExceptionDispT(_XmlSyntaxExceptionPtr pintf)
  {
    TAutoDriver<_XmlSyntaxException>::Bind(pintf, true);
  }

  _XmlSyntaxExceptionDispT& operator=(_XmlSyntaxException *pintf)
  {
    TAutoDriver<_XmlSyntaxException>::Bind(pintf, false);
    return *this;
  }

  _XmlSyntaxExceptionDispT& operator=(_XmlSyntaxExceptionPtr pintf)
  {
    TAutoDriver<_XmlSyntaxException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_XmlSyntaxException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_XmlSyntaxException);
  }


};
typedef _XmlSyntaxExceptionDispT<_XmlSyntaxException> _XmlSyntaxExceptionDisp;

typedef TComInterface<IPermission>  TCOMIPermission;

// *********************************************************************//
// DispIntf:  IPermission
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {A19B3FC6-D680-3DD4-A17A-F58A7D481494}
// *********************************************************************//
template<class T>
class IPermissionDispT : public TAutoDriver<IPermission>
{
public:
  IPermissionDispT(){}

  IPermissionDispT(IPermission *pintf)
  {
    TAutoDriver<IPermission>::Bind(pintf, false);
  }

  IPermissionDispT(IPermissionPtr pintf)
  {
    TAutoDriver<IPermission>::Bind(pintf, true);
  }

  IPermissionDispT& operator=(IPermission *pintf)
  {
    TAutoDriver<IPermission>::Bind(pintf, false);
    return *this;
  }

  IPermissionDispT& operator=(IPermissionPtr pintf)
  {
    TAutoDriver<IPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Copy(Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IPermissionPtr __fastcall Copy(void);
  HRESULT         __fastcall Intersect(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                                       Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IPermissionPtr __fastcall Intersect(Mscorlib_tlb::IPermissionPtr Target/*[in]*/);
  HRESULT         __fastcall Union(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                                   Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IPermissionPtr __fastcall Union(Mscorlib_tlb::IPermissionPtr Target/*[in]*/);
  HRESULT         __fastcall IsSubsetOf(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                                        TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsSubsetOf(Mscorlib_tlb::IPermissionPtr Target/*[in]*/);
  HRESULT         __fastcall Demand();

};
typedef IPermissionDispT<IPermission> IPermissionDisp;

typedef TComInterface<IStackWalk>  TCOMIStackWalk;

// *********************************************************************//
// DispIntf:  IStackWalk
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {60FC57B0-4A46-32A0-A5B4-B05B0DE8E781}
// *********************************************************************//
template<class T>
class IStackWalkDispT : public TAutoDriver<IStackWalk>
{
public:
  IStackWalkDispT(){}

  IStackWalkDispT(IStackWalk *pintf)
  {
    TAutoDriver<IStackWalk>::Bind(pintf, false);
  }

  IStackWalkDispT(IStackWalkPtr pintf)
  {
    TAutoDriver<IStackWalk>::Bind(pintf, true);
  }

  IStackWalkDispT& operator=(IStackWalk *pintf)
  {
    TAutoDriver<IStackWalk>::Bind(pintf, false);
    return *this;
  }

  IStackWalkDispT& operator=(IStackWalkPtr pintf)
  {
    TAutoDriver<IStackWalk>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Assert();
  HRESULT         __fastcall Demand();
  HRESULT         __fastcall Deny();
  HRESULT         __fastcall PermitOnly();

};
typedef IStackWalkDispT<IStackWalk> IStackWalkDisp;

// *********************************************************************//
// SmartIntf: TCOM_CodeAccessPermission
// Interface: _CodeAccessPermission
// *********************************************************************//
template <class T /* _CodeAccessPermission */ >
class TCOM_CodeAccessPermissionT : public TComInterface<_CodeAccessPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CodeAccessPermissionT() {}
  TCOM_CodeAccessPermissionT(_CodeAccessPermission *intf, bool addRef = false) : TComInterface<_CodeAccessPermission>(intf, addRef) {}
  TCOM_CodeAccessPermissionT(const TCOM_CodeAccessPermissionT& src) : TComInterface<_CodeAccessPermission>(src) {}
  TCOM_CodeAccessPermissionT& operator=(const TCOM_CodeAccessPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CodeAccessPermissionT<_CodeAccessPermission> TCOM_CodeAccessPermission;

// *********************************************************************//
// DispIntf:  _CodeAccessPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4803CE39-2F30-31FC-B84B-5A0141385269}
// *********************************************************************//
template<class T>
class _CodeAccessPermissionDispT : public TAutoDriver<_CodeAccessPermission>
{
public:
  _CodeAccessPermissionDispT(){}

  _CodeAccessPermissionDispT(_CodeAccessPermission *pintf)
  {
    TAutoDriver<_CodeAccessPermission>::Bind(pintf, false);
  }

  _CodeAccessPermissionDispT(_CodeAccessPermissionPtr pintf)
  {
    TAutoDriver<_CodeAccessPermission>::Bind(pintf, true);
  }

  _CodeAccessPermissionDispT& operator=(_CodeAccessPermission *pintf)
  {
    TAutoDriver<_CodeAccessPermission>::Bind(pintf, false);
    return *this;
  }

  _CodeAccessPermissionDispT& operator=(_CodeAccessPermissionPtr pintf)
  {
    TAutoDriver<_CodeAccessPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CodeAccessPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CodeAccessPermission);
  }


};
typedef _CodeAccessPermissionDispT<_CodeAccessPermission> _CodeAccessPermissionDisp;

typedef TComInterface<IUnrestrictedPermission>  TCOMIUnrestrictedPermission;

// *********************************************************************//
// DispIntf:  IUnrestrictedPermission
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0F1284E6-4399-3963-8DDD-A6A4904F66C8}
// *********************************************************************//
template<class T>
class IUnrestrictedPermissionDispT : public TAutoDriver<IUnrestrictedPermission>
{
public:
  IUnrestrictedPermissionDispT(){}

  IUnrestrictedPermissionDispT(IUnrestrictedPermission *pintf)
  {
    TAutoDriver<IUnrestrictedPermission>::Bind(pintf, false);
  }

  IUnrestrictedPermissionDispT(IUnrestrictedPermissionPtr pintf)
  {
    TAutoDriver<IUnrestrictedPermission>::Bind(pintf, true);
  }

  IUnrestrictedPermissionDispT& operator=(IUnrestrictedPermission *pintf)
  {
    TAutoDriver<IUnrestrictedPermission>::Bind(pintf, false);
    return *this;
  }

  IUnrestrictedPermissionDispT& operator=(IUnrestrictedPermissionPtr pintf)
  {
    TAutoDriver<IUnrestrictedPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall IsUnrestricted(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsUnrestricted(void);

};
typedef IUnrestrictedPermissionDispT<IUnrestrictedPermission> IUnrestrictedPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_EnvironmentPermission
// Interface: _EnvironmentPermission
// *********************************************************************//
template <class T /* _EnvironmentPermission */ >
class TCOM_EnvironmentPermissionT : public TComInterface<_EnvironmentPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EnvironmentPermissionT() {}
  TCOM_EnvironmentPermissionT(_EnvironmentPermission *intf, bool addRef = false) : TComInterface<_EnvironmentPermission>(intf, addRef) {}
  TCOM_EnvironmentPermissionT(const TCOM_EnvironmentPermissionT& src) : TComInterface<_EnvironmentPermission>(src) {}
  TCOM_EnvironmentPermissionT& operator=(const TCOM_EnvironmentPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EnvironmentPermissionT<_EnvironmentPermission> TCOM_EnvironmentPermission;

// *********************************************************************//
// DispIntf:  _EnvironmentPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0720590D-5218-352A-A337-5449E6BD19DA}
// *********************************************************************//
template<class T>
class _EnvironmentPermissionDispT : public TAutoDriver<_EnvironmentPermission>
{
public:
  _EnvironmentPermissionDispT(){}

  _EnvironmentPermissionDispT(_EnvironmentPermission *pintf)
  {
    TAutoDriver<_EnvironmentPermission>::Bind(pintf, false);
  }

  _EnvironmentPermissionDispT(_EnvironmentPermissionPtr pintf)
  {
    TAutoDriver<_EnvironmentPermission>::Bind(pintf, true);
  }

  _EnvironmentPermissionDispT& operator=(_EnvironmentPermission *pintf)
  {
    TAutoDriver<_EnvironmentPermission>::Bind(pintf, false);
    return *this;
  }

  _EnvironmentPermissionDispT& operator=(_EnvironmentPermissionPtr pintf)
  {
    TAutoDriver<_EnvironmentPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EnvironmentPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EnvironmentPermission);
  }


};
typedef _EnvironmentPermissionDispT<_EnvironmentPermission> _EnvironmentPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileDialogPermission
// Interface: _FileDialogPermission
// *********************************************************************//
template <class T /* _FileDialogPermission */ >
class TCOM_FileDialogPermissionT : public TComInterface<_FileDialogPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileDialogPermissionT() {}
  TCOM_FileDialogPermissionT(_FileDialogPermission *intf, bool addRef = false) : TComInterface<_FileDialogPermission>(intf, addRef) {}
  TCOM_FileDialogPermissionT(const TCOM_FileDialogPermissionT& src) : TComInterface<_FileDialogPermission>(src) {}
  TCOM_FileDialogPermissionT& operator=(const TCOM_FileDialogPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileDialogPermissionT<_FileDialogPermission> TCOM_FileDialogPermission;

// *********************************************************************//
// DispIntf:  _FileDialogPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A8B7138C-8932-3D78-A585-A91569C743AC}
// *********************************************************************//
template<class T>
class _FileDialogPermissionDispT : public TAutoDriver<_FileDialogPermission>
{
public:
  _FileDialogPermissionDispT(){}

  _FileDialogPermissionDispT(_FileDialogPermission *pintf)
  {
    TAutoDriver<_FileDialogPermission>::Bind(pintf, false);
  }

  _FileDialogPermissionDispT(_FileDialogPermissionPtr pintf)
  {
    TAutoDriver<_FileDialogPermission>::Bind(pintf, true);
  }

  _FileDialogPermissionDispT& operator=(_FileDialogPermission *pintf)
  {
    TAutoDriver<_FileDialogPermission>::Bind(pintf, false);
    return *this;
  }

  _FileDialogPermissionDispT& operator=(_FileDialogPermissionPtr pintf)
  {
    TAutoDriver<_FileDialogPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileDialogPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileDialogPermission);
  }


};
typedef _FileDialogPermissionDispT<_FileDialogPermission> _FileDialogPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileIOPermission
// Interface: _FileIOPermission
// *********************************************************************//
template <class T /* _FileIOPermission */ >
class TCOM_FileIOPermissionT : public TComInterface<_FileIOPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileIOPermissionT() {}
  TCOM_FileIOPermissionT(_FileIOPermission *intf, bool addRef = false) : TComInterface<_FileIOPermission>(intf, addRef) {}
  TCOM_FileIOPermissionT(const TCOM_FileIOPermissionT& src) : TComInterface<_FileIOPermission>(src) {}
  TCOM_FileIOPermissionT& operator=(const TCOM_FileIOPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileIOPermissionT<_FileIOPermission> TCOM_FileIOPermission;

// *********************************************************************//
// DispIntf:  _FileIOPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A2ED7EFC-8E59-3CCC-AE92-EA2377F4D5EF}
// *********************************************************************//
template<class T>
class _FileIOPermissionDispT : public TAutoDriver<_FileIOPermission>
{
public:
  _FileIOPermissionDispT(){}

  _FileIOPermissionDispT(_FileIOPermission *pintf)
  {
    TAutoDriver<_FileIOPermission>::Bind(pintf, false);
  }

  _FileIOPermissionDispT(_FileIOPermissionPtr pintf)
  {
    TAutoDriver<_FileIOPermission>::Bind(pintf, true);
  }

  _FileIOPermissionDispT& operator=(_FileIOPermission *pintf)
  {
    TAutoDriver<_FileIOPermission>::Bind(pintf, false);
    return *this;
  }

  _FileIOPermissionDispT& operator=(_FileIOPermissionPtr pintf)
  {
    TAutoDriver<_FileIOPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileIOPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileIOPermission);
  }


};
typedef _FileIOPermissionDispT<_FileIOPermission> _FileIOPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SecurityAttribute
// Interface: _SecurityAttribute
// *********************************************************************//
template <class T /* _SecurityAttribute */ >
class TCOM_SecurityAttributeT : public TComInterface<_SecurityAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SecurityAttributeT() {}
  TCOM_SecurityAttributeT(_SecurityAttribute *intf, bool addRef = false) : TComInterface<_SecurityAttribute>(intf, addRef) {}
  TCOM_SecurityAttributeT(const TCOM_SecurityAttributeT& src) : TComInterface<_SecurityAttribute>(src) {}
  TCOM_SecurityAttributeT& operator=(const TCOM_SecurityAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SecurityAttributeT<_SecurityAttribute> TCOM_SecurityAttribute;

// *********************************************************************//
// DispIntf:  _SecurityAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {48815668-6C27-3312-803E-2757F55CE96A}
// *********************************************************************//
template<class T>
class _SecurityAttributeDispT : public TAutoDriver<_SecurityAttribute>
{
public:
  _SecurityAttributeDispT(){}

  _SecurityAttributeDispT(_SecurityAttribute *pintf)
  {
    TAutoDriver<_SecurityAttribute>::Bind(pintf, false);
  }

  _SecurityAttributeDispT(_SecurityAttributePtr pintf)
  {
    TAutoDriver<_SecurityAttribute>::Bind(pintf, true);
  }

  _SecurityAttributeDispT& operator=(_SecurityAttribute *pintf)
  {
    TAutoDriver<_SecurityAttribute>::Bind(pintf, false);
    return *this;
  }

  _SecurityAttributeDispT& operator=(_SecurityAttributePtr pintf)
  {
    TAutoDriver<_SecurityAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SecurityAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SecurityAttribute);
  }


};
typedef _SecurityAttributeDispT<_SecurityAttribute> _SecurityAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_CodeAccessSecurityAttribute
// Interface: _CodeAccessSecurityAttribute
// *********************************************************************//
template <class T /* _CodeAccessSecurityAttribute */ >
class TCOM_CodeAccessSecurityAttributeT : public TComInterface<_CodeAccessSecurityAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CodeAccessSecurityAttributeT() {}
  TCOM_CodeAccessSecurityAttributeT(_CodeAccessSecurityAttribute *intf, bool addRef = false) : TComInterface<_CodeAccessSecurityAttribute>(intf, addRef) {}
  TCOM_CodeAccessSecurityAttributeT(const TCOM_CodeAccessSecurityAttributeT& src) : TComInterface<_CodeAccessSecurityAttribute>(src) {}
  TCOM_CodeAccessSecurityAttributeT& operator=(const TCOM_CodeAccessSecurityAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CodeAccessSecurityAttributeT<_CodeAccessSecurityAttribute> TCOM_CodeAccessSecurityAttribute;

// *********************************************************************//
// DispIntf:  _CodeAccessSecurityAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9C5149CB-D3C6-32FD-A0D5-95350DE7B813}
// *********************************************************************//
template<class T>
class _CodeAccessSecurityAttributeDispT : public TAutoDriver<_CodeAccessSecurityAttribute>
{
public:
  _CodeAccessSecurityAttributeDispT(){}

  _CodeAccessSecurityAttributeDispT(_CodeAccessSecurityAttribute *pintf)
  {
    TAutoDriver<_CodeAccessSecurityAttribute>::Bind(pintf, false);
  }

  _CodeAccessSecurityAttributeDispT(_CodeAccessSecurityAttributePtr pintf)
  {
    TAutoDriver<_CodeAccessSecurityAttribute>::Bind(pintf, true);
  }

  _CodeAccessSecurityAttributeDispT& operator=(_CodeAccessSecurityAttribute *pintf)
  {
    TAutoDriver<_CodeAccessSecurityAttribute>::Bind(pintf, false);
    return *this;
  }

  _CodeAccessSecurityAttributeDispT& operator=(_CodeAccessSecurityAttributePtr pintf)
  {
    TAutoDriver<_CodeAccessSecurityAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CodeAccessSecurityAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CodeAccessSecurityAttribute);
  }


};
typedef _CodeAccessSecurityAttributeDispT<_CodeAccessSecurityAttribute> _CodeAccessSecurityAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_HostProtectionAttribute
// Interface: _HostProtectionAttribute
// *********************************************************************//
template <class T /* _HostProtectionAttribute */ >
class TCOM_HostProtectionAttributeT : public TComInterface<_HostProtectionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HostProtectionAttributeT() {}
  TCOM_HostProtectionAttributeT(_HostProtectionAttribute *intf, bool addRef = false) : TComInterface<_HostProtectionAttribute>(intf, addRef) {}
  TCOM_HostProtectionAttributeT(const TCOM_HostProtectionAttributeT& src) : TComInterface<_HostProtectionAttribute>(src) {}
  TCOM_HostProtectionAttributeT& operator=(const TCOM_HostProtectionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HostProtectionAttributeT<_HostProtectionAttribute> TCOM_HostProtectionAttribute;

// *********************************************************************//
// DispIntf:  _HostProtectionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9F8F73A3-1E99-3E51-A41B-179A41DC747C}
// *********************************************************************//
template<class T>
class _HostProtectionAttributeDispT : public TAutoDriver<_HostProtectionAttribute>
{
public:
  _HostProtectionAttributeDispT(){}

  _HostProtectionAttributeDispT(_HostProtectionAttribute *pintf)
  {
    TAutoDriver<_HostProtectionAttribute>::Bind(pintf, false);
  }

  _HostProtectionAttributeDispT(_HostProtectionAttributePtr pintf)
  {
    TAutoDriver<_HostProtectionAttribute>::Bind(pintf, true);
  }

  _HostProtectionAttributeDispT& operator=(_HostProtectionAttribute *pintf)
  {
    TAutoDriver<_HostProtectionAttribute>::Bind(pintf, false);
    return *this;
  }

  _HostProtectionAttributeDispT& operator=(_HostProtectionAttributePtr pintf)
  {
    TAutoDriver<_HostProtectionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HostProtectionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HostProtectionAttribute);
  }


};
typedef _HostProtectionAttributeDispT<_HostProtectionAttribute> _HostProtectionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStoragePermission
// Interface: _IsolatedStoragePermission
// *********************************************************************//
template <class T /* _IsolatedStoragePermission */ >
class TCOM_IsolatedStoragePermissionT : public TComInterface<_IsolatedStoragePermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStoragePermissionT() {}
  TCOM_IsolatedStoragePermissionT(_IsolatedStoragePermission *intf, bool addRef = false) : TComInterface<_IsolatedStoragePermission>(intf, addRef) {}
  TCOM_IsolatedStoragePermissionT(const TCOM_IsolatedStoragePermissionT& src) : TComInterface<_IsolatedStoragePermission>(src) {}
  TCOM_IsolatedStoragePermissionT& operator=(const TCOM_IsolatedStoragePermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStoragePermissionT<_IsolatedStoragePermission> TCOM_IsolatedStoragePermission;

// *********************************************************************//
// DispIntf:  _IsolatedStoragePermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7FEE7903-F97C-3350-AD42-196B00AD2564}
// *********************************************************************//
template<class T>
class _IsolatedStoragePermissionDispT : public TAutoDriver<_IsolatedStoragePermission>
{
public:
  _IsolatedStoragePermissionDispT(){}

  _IsolatedStoragePermissionDispT(_IsolatedStoragePermission *pintf)
  {
    TAutoDriver<_IsolatedStoragePermission>::Bind(pintf, false);
  }

  _IsolatedStoragePermissionDispT(_IsolatedStoragePermissionPtr pintf)
  {
    TAutoDriver<_IsolatedStoragePermission>::Bind(pintf, true);
  }

  _IsolatedStoragePermissionDispT& operator=(_IsolatedStoragePermission *pintf)
  {
    TAutoDriver<_IsolatedStoragePermission>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStoragePermissionDispT& operator=(_IsolatedStoragePermissionPtr pintf)
  {
    TAutoDriver<_IsolatedStoragePermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStoragePermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStoragePermission);
  }


};
typedef _IsolatedStoragePermissionDispT<_IsolatedStoragePermission> _IsolatedStoragePermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFilePermission
// Interface: _IsolatedStorageFilePermission
// *********************************************************************//
template <class T /* _IsolatedStorageFilePermission */ >
class TCOM_IsolatedStorageFilePermissionT : public TComInterface<_IsolatedStorageFilePermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStorageFilePermissionT() {}
  TCOM_IsolatedStorageFilePermissionT(_IsolatedStorageFilePermission *intf, bool addRef = false) : TComInterface<_IsolatedStorageFilePermission>(intf, addRef) {}
  TCOM_IsolatedStorageFilePermissionT(const TCOM_IsolatedStorageFilePermissionT& src) : TComInterface<_IsolatedStorageFilePermission>(src) {}
  TCOM_IsolatedStorageFilePermissionT& operator=(const TCOM_IsolatedStorageFilePermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStorageFilePermissionT<_IsolatedStorageFilePermission> TCOM_IsolatedStorageFilePermission;

// *********************************************************************//
// DispIntf:  _IsolatedStorageFilePermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D0C83E8-BDE1-3BA5-B1EF-A8FC686D8BC9}
// *********************************************************************//
template<class T>
class _IsolatedStorageFilePermissionDispT : public TAutoDriver<_IsolatedStorageFilePermission>
{
public:
  _IsolatedStorageFilePermissionDispT(){}

  _IsolatedStorageFilePermissionDispT(_IsolatedStorageFilePermission *pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermission>::Bind(pintf, false);
  }

  _IsolatedStorageFilePermissionDispT(_IsolatedStorageFilePermissionPtr pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermission>::Bind(pintf, true);
  }

  _IsolatedStorageFilePermissionDispT& operator=(_IsolatedStorageFilePermission *pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermission>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStorageFilePermissionDispT& operator=(_IsolatedStorageFilePermissionPtr pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStorageFilePermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStorageFilePermission);
  }


};
typedef _IsolatedStorageFilePermissionDispT<_IsolatedStorageFilePermission> _IsolatedStorageFilePermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_EnvironmentPermissionAttribute
// Interface: _EnvironmentPermissionAttribute
// *********************************************************************//
template <class T /* _EnvironmentPermissionAttribute */ >
class TCOM_EnvironmentPermissionAttributeT : public TComInterface<_EnvironmentPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EnvironmentPermissionAttributeT() {}
  TCOM_EnvironmentPermissionAttributeT(_EnvironmentPermissionAttribute *intf, bool addRef = false) : TComInterface<_EnvironmentPermissionAttribute>(intf, addRef) {}
  TCOM_EnvironmentPermissionAttributeT(const TCOM_EnvironmentPermissionAttributeT& src) : TComInterface<_EnvironmentPermissionAttribute>(src) {}
  TCOM_EnvironmentPermissionAttributeT& operator=(const TCOM_EnvironmentPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EnvironmentPermissionAttributeT<_EnvironmentPermissionAttribute> TCOM_EnvironmentPermissionAttribute;

// *********************************************************************//
// DispIntf:  _EnvironmentPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4164071A-ED12-3BDD-AF40-FDABCAA77D5F}
// *********************************************************************//
template<class T>
class _EnvironmentPermissionAttributeDispT : public TAutoDriver<_EnvironmentPermissionAttribute>
{
public:
  _EnvironmentPermissionAttributeDispT(){}

  _EnvironmentPermissionAttributeDispT(_EnvironmentPermissionAttribute *pintf)
  {
    TAutoDriver<_EnvironmentPermissionAttribute>::Bind(pintf, false);
  }

  _EnvironmentPermissionAttributeDispT(_EnvironmentPermissionAttributePtr pintf)
  {
    TAutoDriver<_EnvironmentPermissionAttribute>::Bind(pintf, true);
  }

  _EnvironmentPermissionAttributeDispT& operator=(_EnvironmentPermissionAttribute *pintf)
  {
    TAutoDriver<_EnvironmentPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _EnvironmentPermissionAttributeDispT& operator=(_EnvironmentPermissionAttributePtr pintf)
  {
    TAutoDriver<_EnvironmentPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EnvironmentPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EnvironmentPermissionAttribute);
  }


};
typedef _EnvironmentPermissionAttributeDispT<_EnvironmentPermissionAttribute> _EnvironmentPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileDialogPermissionAttribute
// Interface: _FileDialogPermissionAttribute
// *********************************************************************//
template <class T /* _FileDialogPermissionAttribute */ >
class TCOM_FileDialogPermissionAttributeT : public TComInterface<_FileDialogPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileDialogPermissionAttributeT() {}
  TCOM_FileDialogPermissionAttributeT(_FileDialogPermissionAttribute *intf, bool addRef = false) : TComInterface<_FileDialogPermissionAttribute>(intf, addRef) {}
  TCOM_FileDialogPermissionAttributeT(const TCOM_FileDialogPermissionAttributeT& src) : TComInterface<_FileDialogPermissionAttribute>(src) {}
  TCOM_FileDialogPermissionAttributeT& operator=(const TCOM_FileDialogPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileDialogPermissionAttributeT<_FileDialogPermissionAttribute> TCOM_FileDialogPermissionAttribute;

// *********************************************************************//
// DispIntf:  _FileDialogPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0CCCA629-440F-313E-96CD-BA1B4B4997F7}
// *********************************************************************//
template<class T>
class _FileDialogPermissionAttributeDispT : public TAutoDriver<_FileDialogPermissionAttribute>
{
public:
  _FileDialogPermissionAttributeDispT(){}

  _FileDialogPermissionAttributeDispT(_FileDialogPermissionAttribute *pintf)
  {
    TAutoDriver<_FileDialogPermissionAttribute>::Bind(pintf, false);
  }

  _FileDialogPermissionAttributeDispT(_FileDialogPermissionAttributePtr pintf)
  {
    TAutoDriver<_FileDialogPermissionAttribute>::Bind(pintf, true);
  }

  _FileDialogPermissionAttributeDispT& operator=(_FileDialogPermissionAttribute *pintf)
  {
    TAutoDriver<_FileDialogPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _FileDialogPermissionAttributeDispT& operator=(_FileDialogPermissionAttributePtr pintf)
  {
    TAutoDriver<_FileDialogPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileDialogPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileDialogPermissionAttribute);
  }


};
typedef _FileDialogPermissionAttributeDispT<_FileDialogPermissionAttribute> _FileDialogPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_FileIOPermissionAttribute
// Interface: _FileIOPermissionAttribute
// *********************************************************************//
template <class T /* _FileIOPermissionAttribute */ >
class TCOM_FileIOPermissionAttributeT : public TComInterface<_FileIOPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FileIOPermissionAttributeT() {}
  TCOM_FileIOPermissionAttributeT(_FileIOPermissionAttribute *intf, bool addRef = false) : TComInterface<_FileIOPermissionAttribute>(intf, addRef) {}
  TCOM_FileIOPermissionAttributeT(const TCOM_FileIOPermissionAttributeT& src) : TComInterface<_FileIOPermissionAttribute>(src) {}
  TCOM_FileIOPermissionAttributeT& operator=(const TCOM_FileIOPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FileIOPermissionAttributeT<_FileIOPermissionAttribute> TCOM_FileIOPermissionAttribute;

// *********************************************************************//
// DispIntf:  _FileIOPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0DCA817D-F21A-3943-B54C-5E800CE5BC50}
// *********************************************************************//
template<class T>
class _FileIOPermissionAttributeDispT : public TAutoDriver<_FileIOPermissionAttribute>
{
public:
  _FileIOPermissionAttributeDispT(){}

  _FileIOPermissionAttributeDispT(_FileIOPermissionAttribute *pintf)
  {
    TAutoDriver<_FileIOPermissionAttribute>::Bind(pintf, false);
  }

  _FileIOPermissionAttributeDispT(_FileIOPermissionAttributePtr pintf)
  {
    TAutoDriver<_FileIOPermissionAttribute>::Bind(pintf, true);
  }

  _FileIOPermissionAttributeDispT& operator=(_FileIOPermissionAttribute *pintf)
  {
    TAutoDriver<_FileIOPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _FileIOPermissionAttributeDispT& operator=(_FileIOPermissionAttributePtr pintf)
  {
    TAutoDriver<_FileIOPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FileIOPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FileIOPermissionAttribute);
  }


};
typedef _FileIOPermissionAttributeDispT<_FileIOPermissionAttribute> _FileIOPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAttribute
// Interface: _KeyContainerPermissionAttribute
// *********************************************************************//
template <class T /* _KeyContainerPermissionAttribute */ >
class TCOM_KeyContainerPermissionAttributeT : public TComInterface<_KeyContainerPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeyContainerPermissionAttributeT() {}
  TCOM_KeyContainerPermissionAttributeT(_KeyContainerPermissionAttribute *intf, bool addRef = false) : TComInterface<_KeyContainerPermissionAttribute>(intf, addRef) {}
  TCOM_KeyContainerPermissionAttributeT(const TCOM_KeyContainerPermissionAttributeT& src) : TComInterface<_KeyContainerPermissionAttribute>(src) {}
  TCOM_KeyContainerPermissionAttributeT& operator=(const TCOM_KeyContainerPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeyContainerPermissionAttributeT<_KeyContainerPermissionAttribute> TCOM_KeyContainerPermissionAttribute;

// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EDB51D1C-08AD-346A-BE6F-D74FD6D6F965}
// *********************************************************************//
template<class T>
class _KeyContainerPermissionAttributeDispT : public TAutoDriver<_KeyContainerPermissionAttribute>
{
public:
  _KeyContainerPermissionAttributeDispT(){}

  _KeyContainerPermissionAttributeDispT(_KeyContainerPermissionAttribute *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAttribute>::Bind(pintf, false);
  }

  _KeyContainerPermissionAttributeDispT(_KeyContainerPermissionAttributePtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAttribute>::Bind(pintf, true);
  }

  _KeyContainerPermissionAttributeDispT& operator=(_KeyContainerPermissionAttribute *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _KeyContainerPermissionAttributeDispT& operator=(_KeyContainerPermissionAttributePtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeyContainerPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeyContainerPermissionAttribute);
  }


};
typedef _KeyContainerPermissionAttributeDispT<_KeyContainerPermissionAttribute> _KeyContainerPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_PrincipalPermissionAttribute
// Interface: _PrincipalPermissionAttribute
// *********************************************************************//
template <class T /* _PrincipalPermissionAttribute */ >
class TCOM_PrincipalPermissionAttributeT : public TComInterface<_PrincipalPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PrincipalPermissionAttributeT() {}
  TCOM_PrincipalPermissionAttributeT(_PrincipalPermissionAttribute *intf, bool addRef = false) : TComInterface<_PrincipalPermissionAttribute>(intf, addRef) {}
  TCOM_PrincipalPermissionAttributeT(const TCOM_PrincipalPermissionAttributeT& src) : TComInterface<_PrincipalPermissionAttribute>(src) {}
  TCOM_PrincipalPermissionAttributeT& operator=(const TCOM_PrincipalPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PrincipalPermissionAttributeT<_PrincipalPermissionAttribute> TCOM_PrincipalPermissionAttribute;

// *********************************************************************//
// DispIntf:  _PrincipalPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {68AB69E4-5D68-3B51-B74D-1BEAB9F37F2B}
// *********************************************************************//
template<class T>
class _PrincipalPermissionAttributeDispT : public TAutoDriver<_PrincipalPermissionAttribute>
{
public:
  _PrincipalPermissionAttributeDispT(){}

  _PrincipalPermissionAttributeDispT(_PrincipalPermissionAttribute *pintf)
  {
    TAutoDriver<_PrincipalPermissionAttribute>::Bind(pintf, false);
  }

  _PrincipalPermissionAttributeDispT(_PrincipalPermissionAttributePtr pintf)
  {
    TAutoDriver<_PrincipalPermissionAttribute>::Bind(pintf, true);
  }

  _PrincipalPermissionAttributeDispT& operator=(_PrincipalPermissionAttribute *pintf)
  {
    TAutoDriver<_PrincipalPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _PrincipalPermissionAttributeDispT& operator=(_PrincipalPermissionAttributePtr pintf)
  {
    TAutoDriver<_PrincipalPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PrincipalPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PrincipalPermissionAttribute);
  }


};
typedef _PrincipalPermissionAttributeDispT<_PrincipalPermissionAttribute> _PrincipalPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ReflectionPermissionAttribute
// Interface: _ReflectionPermissionAttribute
// *********************************************************************//
template <class T /* _ReflectionPermissionAttribute */ >
class TCOM_ReflectionPermissionAttributeT : public TComInterface<_ReflectionPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ReflectionPermissionAttributeT() {}
  TCOM_ReflectionPermissionAttributeT(_ReflectionPermissionAttribute *intf, bool addRef = false) : TComInterface<_ReflectionPermissionAttribute>(intf, addRef) {}
  TCOM_ReflectionPermissionAttributeT(const TCOM_ReflectionPermissionAttributeT& src) : TComInterface<_ReflectionPermissionAttribute>(src) {}
  TCOM_ReflectionPermissionAttributeT& operator=(const TCOM_ReflectionPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ReflectionPermissionAttributeT<_ReflectionPermissionAttribute> TCOM_ReflectionPermissionAttribute;

// *********************************************************************//
// DispIntf:  _ReflectionPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D31EED10-A5F0-308F-A951-E557961EC568}
// *********************************************************************//
template<class T>
class _ReflectionPermissionAttributeDispT : public TAutoDriver<_ReflectionPermissionAttribute>
{
public:
  _ReflectionPermissionAttributeDispT(){}

  _ReflectionPermissionAttributeDispT(_ReflectionPermissionAttribute *pintf)
  {
    TAutoDriver<_ReflectionPermissionAttribute>::Bind(pintf, false);
  }

  _ReflectionPermissionAttributeDispT(_ReflectionPermissionAttributePtr pintf)
  {
    TAutoDriver<_ReflectionPermissionAttribute>::Bind(pintf, true);
  }

  _ReflectionPermissionAttributeDispT& operator=(_ReflectionPermissionAttribute *pintf)
  {
    TAutoDriver<_ReflectionPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _ReflectionPermissionAttributeDispT& operator=(_ReflectionPermissionAttributePtr pintf)
  {
    TAutoDriver<_ReflectionPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ReflectionPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ReflectionPermissionAttribute);
  }


};
typedef _ReflectionPermissionAttributeDispT<_ReflectionPermissionAttribute> _ReflectionPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_RegistryPermissionAttribute
// Interface: _RegistryPermissionAttribute
// *********************************************************************//
template <class T /* _RegistryPermissionAttribute */ >
class TCOM_RegistryPermissionAttributeT : public TComInterface<_RegistryPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RegistryPermissionAttributeT() {}
  TCOM_RegistryPermissionAttributeT(_RegistryPermissionAttribute *intf, bool addRef = false) : TComInterface<_RegistryPermissionAttribute>(intf, addRef) {}
  TCOM_RegistryPermissionAttributeT(const TCOM_RegistryPermissionAttributeT& src) : TComInterface<_RegistryPermissionAttribute>(src) {}
  TCOM_RegistryPermissionAttributeT& operator=(const TCOM_RegistryPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RegistryPermissionAttributeT<_RegistryPermissionAttribute> TCOM_RegistryPermissionAttribute;

// *********************************************************************//
// DispIntf:  _RegistryPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {38B6068C-1E94-3119-8841-1ECA35ED8578}
// *********************************************************************//
template<class T>
class _RegistryPermissionAttributeDispT : public TAutoDriver<_RegistryPermissionAttribute>
{
public:
  _RegistryPermissionAttributeDispT(){}

  _RegistryPermissionAttributeDispT(_RegistryPermissionAttribute *pintf)
  {
    TAutoDriver<_RegistryPermissionAttribute>::Bind(pintf, false);
  }

  _RegistryPermissionAttributeDispT(_RegistryPermissionAttributePtr pintf)
  {
    TAutoDriver<_RegistryPermissionAttribute>::Bind(pintf, true);
  }

  _RegistryPermissionAttributeDispT& operator=(_RegistryPermissionAttribute *pintf)
  {
    TAutoDriver<_RegistryPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _RegistryPermissionAttributeDispT& operator=(_RegistryPermissionAttributePtr pintf)
  {
    TAutoDriver<_RegistryPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RegistryPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RegistryPermissionAttribute);
  }


};
typedef _RegistryPermissionAttributeDispT<_RegistryPermissionAttribute> _RegistryPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SecurityPermissionAttribute
// Interface: _SecurityPermissionAttribute
// *********************************************************************//
template <class T /* _SecurityPermissionAttribute */ >
class TCOM_SecurityPermissionAttributeT : public TComInterface<_SecurityPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SecurityPermissionAttributeT() {}
  TCOM_SecurityPermissionAttributeT(_SecurityPermissionAttribute *intf, bool addRef = false) : TComInterface<_SecurityPermissionAttribute>(intf, addRef) {}
  TCOM_SecurityPermissionAttributeT(const TCOM_SecurityPermissionAttributeT& src) : TComInterface<_SecurityPermissionAttribute>(src) {}
  TCOM_SecurityPermissionAttributeT& operator=(const TCOM_SecurityPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SecurityPermissionAttributeT<_SecurityPermissionAttribute> TCOM_SecurityPermissionAttribute;

// *********************************************************************//
// DispIntf:  _SecurityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3A5B876C-CDE4-32D2-9C7E-020A14ACA332}
// *********************************************************************//
template<class T>
class _SecurityPermissionAttributeDispT : public TAutoDriver<_SecurityPermissionAttribute>
{
public:
  _SecurityPermissionAttributeDispT(){}

  _SecurityPermissionAttributeDispT(_SecurityPermissionAttribute *pintf)
  {
    TAutoDriver<_SecurityPermissionAttribute>::Bind(pintf, false);
  }

  _SecurityPermissionAttributeDispT(_SecurityPermissionAttributePtr pintf)
  {
    TAutoDriver<_SecurityPermissionAttribute>::Bind(pintf, true);
  }

  _SecurityPermissionAttributeDispT& operator=(_SecurityPermissionAttribute *pintf)
  {
    TAutoDriver<_SecurityPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _SecurityPermissionAttributeDispT& operator=(_SecurityPermissionAttributePtr pintf)
  {
    TAutoDriver<_SecurityPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SecurityPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SecurityPermissionAttribute);
  }


};
typedef _SecurityPermissionAttributeDispT<_SecurityPermissionAttribute> _SecurityPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_UIPermissionAttribute
// Interface: _UIPermissionAttribute
// *********************************************************************//
template <class T /* _UIPermissionAttribute */ >
class TCOM_UIPermissionAttributeT : public TComInterface<_UIPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UIPermissionAttributeT() {}
  TCOM_UIPermissionAttributeT(_UIPermissionAttribute *intf, bool addRef = false) : TComInterface<_UIPermissionAttribute>(intf, addRef) {}
  TCOM_UIPermissionAttributeT(const TCOM_UIPermissionAttributeT& src) : TComInterface<_UIPermissionAttribute>(src) {}
  TCOM_UIPermissionAttributeT& operator=(const TCOM_UIPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UIPermissionAttributeT<_UIPermissionAttribute> TCOM_UIPermissionAttribute;

// *********************************************************************//
// DispIntf:  _UIPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1D5C0F70-AF29-38A3-9436-3070A310C73B}
// *********************************************************************//
template<class T>
class _UIPermissionAttributeDispT : public TAutoDriver<_UIPermissionAttribute>
{
public:
  _UIPermissionAttributeDispT(){}

  _UIPermissionAttributeDispT(_UIPermissionAttribute *pintf)
  {
    TAutoDriver<_UIPermissionAttribute>::Bind(pintf, false);
  }

  _UIPermissionAttributeDispT(_UIPermissionAttributePtr pintf)
  {
    TAutoDriver<_UIPermissionAttribute>::Bind(pintf, true);
  }

  _UIPermissionAttributeDispT& operator=(_UIPermissionAttribute *pintf)
  {
    TAutoDriver<_UIPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _UIPermissionAttributeDispT& operator=(_UIPermissionAttributePtr pintf)
  {
    TAutoDriver<_UIPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UIPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UIPermissionAttribute);
  }


};
typedef _UIPermissionAttributeDispT<_UIPermissionAttribute> _UIPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ZoneIdentityPermissionAttribute
// Interface: _ZoneIdentityPermissionAttribute
// *********************************************************************//
template <class T /* _ZoneIdentityPermissionAttribute */ >
class TCOM_ZoneIdentityPermissionAttributeT : public TComInterface<_ZoneIdentityPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ZoneIdentityPermissionAttributeT() {}
  TCOM_ZoneIdentityPermissionAttributeT(_ZoneIdentityPermissionAttribute *intf, bool addRef = false) : TComInterface<_ZoneIdentityPermissionAttribute>(intf, addRef) {}
  TCOM_ZoneIdentityPermissionAttributeT(const TCOM_ZoneIdentityPermissionAttributeT& src) : TComInterface<_ZoneIdentityPermissionAttribute>(src) {}
  TCOM_ZoneIdentityPermissionAttributeT& operator=(const TCOM_ZoneIdentityPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ZoneIdentityPermissionAttributeT<_ZoneIdentityPermissionAttribute> TCOM_ZoneIdentityPermissionAttribute;

// *********************************************************************//
// DispIntf:  _ZoneIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2E3BE3ED-2F22-3B20-9F92-BD29B79D6F42}
// *********************************************************************//
template<class T>
class _ZoneIdentityPermissionAttributeDispT : public TAutoDriver<_ZoneIdentityPermissionAttribute>
{
public:
  _ZoneIdentityPermissionAttributeDispT(){}

  _ZoneIdentityPermissionAttributeDispT(_ZoneIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_ZoneIdentityPermissionAttribute>::Bind(pintf, false);
  }

  _ZoneIdentityPermissionAttributeDispT(_ZoneIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_ZoneIdentityPermissionAttribute>::Bind(pintf, true);
  }

  _ZoneIdentityPermissionAttributeDispT& operator=(_ZoneIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_ZoneIdentityPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _ZoneIdentityPermissionAttributeDispT& operator=(_ZoneIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_ZoneIdentityPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ZoneIdentityPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ZoneIdentityPermissionAttribute);
  }


};
typedef _ZoneIdentityPermissionAttributeDispT<_ZoneIdentityPermissionAttribute> _ZoneIdentityPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_StrongNameIdentityPermissionAttribute
// Interface: _StrongNameIdentityPermissionAttribute
// *********************************************************************//
template <class T /* _StrongNameIdentityPermissionAttribute */ >
class TCOM_StrongNameIdentityPermissionAttributeT : public TComInterface<_StrongNameIdentityPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StrongNameIdentityPermissionAttributeT() {}
  TCOM_StrongNameIdentityPermissionAttributeT(_StrongNameIdentityPermissionAttribute *intf, bool addRef = false) : TComInterface<_StrongNameIdentityPermissionAttribute>(intf, addRef) {}
  TCOM_StrongNameIdentityPermissionAttributeT(const TCOM_StrongNameIdentityPermissionAttributeT& src) : TComInterface<_StrongNameIdentityPermissionAttribute>(src) {}
  TCOM_StrongNameIdentityPermissionAttributeT& operator=(const TCOM_StrongNameIdentityPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StrongNameIdentityPermissionAttributeT<_StrongNameIdentityPermissionAttribute> TCOM_StrongNameIdentityPermissionAttribute;

// *********************************************************************//
// DispIntf:  _StrongNameIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C9A740F4-26E9-39A8-8885-8CA26BD79B21}
// *********************************************************************//
template<class T>
class _StrongNameIdentityPermissionAttributeDispT : public TAutoDriver<_StrongNameIdentityPermissionAttribute>
{
public:
  _StrongNameIdentityPermissionAttributeDispT(){}

  _StrongNameIdentityPermissionAttributeDispT(_StrongNameIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_StrongNameIdentityPermissionAttribute>::Bind(pintf, false);
  }

  _StrongNameIdentityPermissionAttributeDispT(_StrongNameIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_StrongNameIdentityPermissionAttribute>::Bind(pintf, true);
  }

  _StrongNameIdentityPermissionAttributeDispT& operator=(_StrongNameIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_StrongNameIdentityPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _StrongNameIdentityPermissionAttributeDispT& operator=(_StrongNameIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_StrongNameIdentityPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StrongNameIdentityPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StrongNameIdentityPermissionAttribute);
  }


};
typedef _StrongNameIdentityPermissionAttributeDispT<_StrongNameIdentityPermissionAttribute> _StrongNameIdentityPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SiteIdentityPermissionAttribute
// Interface: _SiteIdentityPermissionAttribute
// *********************************************************************//
template <class T /* _SiteIdentityPermissionAttribute */ >
class TCOM_SiteIdentityPermissionAttributeT : public TComInterface<_SiteIdentityPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SiteIdentityPermissionAttributeT() {}
  TCOM_SiteIdentityPermissionAttributeT(_SiteIdentityPermissionAttribute *intf, bool addRef = false) : TComInterface<_SiteIdentityPermissionAttribute>(intf, addRef) {}
  TCOM_SiteIdentityPermissionAttributeT(const TCOM_SiteIdentityPermissionAttributeT& src) : TComInterface<_SiteIdentityPermissionAttribute>(src) {}
  TCOM_SiteIdentityPermissionAttributeT& operator=(const TCOM_SiteIdentityPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SiteIdentityPermissionAttributeT<_SiteIdentityPermissionAttribute> TCOM_SiteIdentityPermissionAttribute;

// *********************************************************************//
// DispIntf:  _SiteIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6FE6894A-2A53-3FB6-A06E-348F9BDAD23B}
// *********************************************************************//
template<class T>
class _SiteIdentityPermissionAttributeDispT : public TAutoDriver<_SiteIdentityPermissionAttribute>
{
public:
  _SiteIdentityPermissionAttributeDispT(){}

  _SiteIdentityPermissionAttributeDispT(_SiteIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_SiteIdentityPermissionAttribute>::Bind(pintf, false);
  }

  _SiteIdentityPermissionAttributeDispT(_SiteIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_SiteIdentityPermissionAttribute>::Bind(pintf, true);
  }

  _SiteIdentityPermissionAttributeDispT& operator=(_SiteIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_SiteIdentityPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _SiteIdentityPermissionAttributeDispT& operator=(_SiteIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_SiteIdentityPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SiteIdentityPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SiteIdentityPermissionAttribute);
  }


};
typedef _SiteIdentityPermissionAttributeDispT<_SiteIdentityPermissionAttribute> _SiteIdentityPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_UrlIdentityPermissionAttribute
// Interface: _UrlIdentityPermissionAttribute
// *********************************************************************//
template <class T /* _UrlIdentityPermissionAttribute */ >
class TCOM_UrlIdentityPermissionAttributeT : public TComInterface<_UrlIdentityPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UrlIdentityPermissionAttributeT() {}
  TCOM_UrlIdentityPermissionAttributeT(_UrlIdentityPermissionAttribute *intf, bool addRef = false) : TComInterface<_UrlIdentityPermissionAttribute>(intf, addRef) {}
  TCOM_UrlIdentityPermissionAttributeT(const TCOM_UrlIdentityPermissionAttributeT& src) : TComInterface<_UrlIdentityPermissionAttribute>(src) {}
  TCOM_UrlIdentityPermissionAttributeT& operator=(const TCOM_UrlIdentityPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UrlIdentityPermissionAttributeT<_UrlIdentityPermissionAttribute> TCOM_UrlIdentityPermissionAttribute;

// *********************************************************************//
// DispIntf:  _UrlIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CA4A2073-48C5-3E61-8349-11701A90DD9B}
// *********************************************************************//
template<class T>
class _UrlIdentityPermissionAttributeDispT : public TAutoDriver<_UrlIdentityPermissionAttribute>
{
public:
  _UrlIdentityPermissionAttributeDispT(){}

  _UrlIdentityPermissionAttributeDispT(_UrlIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_UrlIdentityPermissionAttribute>::Bind(pintf, false);
  }

  _UrlIdentityPermissionAttributeDispT(_UrlIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_UrlIdentityPermissionAttribute>::Bind(pintf, true);
  }

  _UrlIdentityPermissionAttributeDispT& operator=(_UrlIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_UrlIdentityPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _UrlIdentityPermissionAttributeDispT& operator=(_UrlIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_UrlIdentityPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UrlIdentityPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UrlIdentityPermissionAttribute);
  }


};
typedef _UrlIdentityPermissionAttributeDispT<_UrlIdentityPermissionAttribute> _UrlIdentityPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_PublisherIdentityPermissionAttribute
// Interface: _PublisherIdentityPermissionAttribute
// *********************************************************************//
template <class T /* _PublisherIdentityPermissionAttribute */ >
class TCOM_PublisherIdentityPermissionAttributeT : public TComInterface<_PublisherIdentityPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PublisherIdentityPermissionAttributeT() {}
  TCOM_PublisherIdentityPermissionAttributeT(_PublisherIdentityPermissionAttribute *intf, bool addRef = false) : TComInterface<_PublisherIdentityPermissionAttribute>(intf, addRef) {}
  TCOM_PublisherIdentityPermissionAttributeT(const TCOM_PublisherIdentityPermissionAttributeT& src) : TComInterface<_PublisherIdentityPermissionAttribute>(src) {}
  TCOM_PublisherIdentityPermissionAttributeT& operator=(const TCOM_PublisherIdentityPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PublisherIdentityPermissionAttributeT<_PublisherIdentityPermissionAttribute> TCOM_PublisherIdentityPermissionAttribute;

// *********************************************************************//
// DispIntf:  _PublisherIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6722C730-1239-3784-AC94-C285AE5B901A}
// *********************************************************************//
template<class T>
class _PublisherIdentityPermissionAttributeDispT : public TAutoDriver<_PublisherIdentityPermissionAttribute>
{
public:
  _PublisherIdentityPermissionAttributeDispT(){}

  _PublisherIdentityPermissionAttributeDispT(_PublisherIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_PublisherIdentityPermissionAttribute>::Bind(pintf, false);
  }

  _PublisherIdentityPermissionAttributeDispT(_PublisherIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_PublisherIdentityPermissionAttribute>::Bind(pintf, true);
  }

  _PublisherIdentityPermissionAttributeDispT& operator=(_PublisherIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_PublisherIdentityPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _PublisherIdentityPermissionAttributeDispT& operator=(_PublisherIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_PublisherIdentityPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PublisherIdentityPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PublisherIdentityPermissionAttribute);
  }


};
typedef _PublisherIdentityPermissionAttributeDispT<_PublisherIdentityPermissionAttribute> _PublisherIdentityPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStoragePermissionAttribute
// Interface: _IsolatedStoragePermissionAttribute
// *********************************************************************//
template <class T /* _IsolatedStoragePermissionAttribute */ >
class TCOM_IsolatedStoragePermissionAttributeT : public TComInterface<_IsolatedStoragePermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStoragePermissionAttributeT() {}
  TCOM_IsolatedStoragePermissionAttributeT(_IsolatedStoragePermissionAttribute *intf, bool addRef = false) : TComInterface<_IsolatedStoragePermissionAttribute>(intf, addRef) {}
  TCOM_IsolatedStoragePermissionAttributeT(const TCOM_IsolatedStoragePermissionAttributeT& src) : TComInterface<_IsolatedStoragePermissionAttribute>(src) {}
  TCOM_IsolatedStoragePermissionAttributeT& operator=(const TCOM_IsolatedStoragePermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStoragePermissionAttributeT<_IsolatedStoragePermissionAttribute> TCOM_IsolatedStoragePermissionAttribute;

// *********************************************************************//
// DispIntf:  _IsolatedStoragePermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5C4C522F-DE4E-3595-9AA9-9319C86A5283}
// *********************************************************************//
template<class T>
class _IsolatedStoragePermissionAttributeDispT : public TAutoDriver<_IsolatedStoragePermissionAttribute>
{
public:
  _IsolatedStoragePermissionAttributeDispT(){}

  _IsolatedStoragePermissionAttributeDispT(_IsolatedStoragePermissionAttribute *pintf)
  {
    TAutoDriver<_IsolatedStoragePermissionAttribute>::Bind(pintf, false);
  }

  _IsolatedStoragePermissionAttributeDispT(_IsolatedStoragePermissionAttributePtr pintf)
  {
    TAutoDriver<_IsolatedStoragePermissionAttribute>::Bind(pintf, true);
  }

  _IsolatedStoragePermissionAttributeDispT& operator=(_IsolatedStoragePermissionAttribute *pintf)
  {
    TAutoDriver<_IsolatedStoragePermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStoragePermissionAttributeDispT& operator=(_IsolatedStoragePermissionAttributePtr pintf)
  {
    TAutoDriver<_IsolatedStoragePermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStoragePermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStoragePermissionAttribute);
  }


};
typedef _IsolatedStoragePermissionAttributeDispT<_IsolatedStoragePermissionAttribute> _IsolatedStoragePermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFilePermissionAttribute
// Interface: _IsolatedStorageFilePermissionAttribute
// *********************************************************************//
template <class T /* _IsolatedStorageFilePermissionAttribute */ >
class TCOM_IsolatedStorageFilePermissionAttributeT : public TComInterface<_IsolatedStorageFilePermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStorageFilePermissionAttributeT() {}
  TCOM_IsolatedStorageFilePermissionAttributeT(_IsolatedStorageFilePermissionAttribute *intf, bool addRef = false) : TComInterface<_IsolatedStorageFilePermissionAttribute>(intf, addRef) {}
  TCOM_IsolatedStorageFilePermissionAttributeT(const TCOM_IsolatedStorageFilePermissionAttributeT& src) : TComInterface<_IsolatedStorageFilePermissionAttribute>(src) {}
  TCOM_IsolatedStorageFilePermissionAttributeT& operator=(const TCOM_IsolatedStorageFilePermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStorageFilePermissionAttributeT<_IsolatedStorageFilePermissionAttribute> TCOM_IsolatedStorageFilePermissionAttribute;

// *********************************************************************//
// DispIntf:  _IsolatedStorageFilePermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6F1F8AAE-D667-39CC-98FA-722BEBBBEAC3}
// *********************************************************************//
template<class T>
class _IsolatedStorageFilePermissionAttributeDispT : public TAutoDriver<_IsolatedStorageFilePermissionAttribute>
{
public:
  _IsolatedStorageFilePermissionAttributeDispT(){}

  _IsolatedStorageFilePermissionAttributeDispT(_IsolatedStorageFilePermissionAttribute *pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermissionAttribute>::Bind(pintf, false);
  }

  _IsolatedStorageFilePermissionAttributeDispT(_IsolatedStorageFilePermissionAttributePtr pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermissionAttribute>::Bind(pintf, true);
  }

  _IsolatedStorageFilePermissionAttributeDispT& operator=(_IsolatedStorageFilePermissionAttribute *pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStorageFilePermissionAttributeDispT& operator=(_IsolatedStorageFilePermissionAttributePtr pintf)
  {
    TAutoDriver<_IsolatedStorageFilePermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStorageFilePermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStorageFilePermissionAttribute);
  }


};
typedef _IsolatedStorageFilePermissionAttributeDispT<_IsolatedStorageFilePermissionAttribute> _IsolatedStorageFilePermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_PermissionSetAttribute
// Interface: _PermissionSetAttribute
// *********************************************************************//
template <class T /* _PermissionSetAttribute */ >
class TCOM_PermissionSetAttributeT : public TComInterface<_PermissionSetAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PermissionSetAttributeT() {}
  TCOM_PermissionSetAttributeT(_PermissionSetAttribute *intf, bool addRef = false) : TComInterface<_PermissionSetAttribute>(intf, addRef) {}
  TCOM_PermissionSetAttributeT(const TCOM_PermissionSetAttributeT& src) : TComInterface<_PermissionSetAttribute>(src) {}
  TCOM_PermissionSetAttributeT& operator=(const TCOM_PermissionSetAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PermissionSetAttributeT<_PermissionSetAttribute> TCOM_PermissionSetAttribute;

// *********************************************************************//
// DispIntf:  _PermissionSetAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {947A1995-BC16-3E7C-B65A-99E71F39C091}
// *********************************************************************//
template<class T>
class _PermissionSetAttributeDispT : public TAutoDriver<_PermissionSetAttribute>
{
public:
  _PermissionSetAttributeDispT(){}

  _PermissionSetAttributeDispT(_PermissionSetAttribute *pintf)
  {
    TAutoDriver<_PermissionSetAttribute>::Bind(pintf, false);
  }

  _PermissionSetAttributeDispT(_PermissionSetAttributePtr pintf)
  {
    TAutoDriver<_PermissionSetAttribute>::Bind(pintf, true);
  }

  _PermissionSetAttributeDispT& operator=(_PermissionSetAttribute *pintf)
  {
    TAutoDriver<_PermissionSetAttribute>::Bind(pintf, false);
    return *this;
  }

  _PermissionSetAttributeDispT& operator=(_PermissionSetAttributePtr pintf)
  {
    TAutoDriver<_PermissionSetAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PermissionSetAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PermissionSetAttribute);
  }


};
typedef _PermissionSetAttributeDispT<_PermissionSetAttribute> _PermissionSetAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ReflectionPermission
// Interface: _ReflectionPermission
// *********************************************************************//
template <class T /* _ReflectionPermission */ >
class TCOM_ReflectionPermissionT : public TComInterface<_ReflectionPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ReflectionPermissionT() {}
  TCOM_ReflectionPermissionT(_ReflectionPermission *intf, bool addRef = false) : TComInterface<_ReflectionPermission>(intf, addRef) {}
  TCOM_ReflectionPermissionT(const TCOM_ReflectionPermissionT& src) : TComInterface<_ReflectionPermission>(src) {}
  TCOM_ReflectionPermissionT& operator=(const TCOM_ReflectionPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ReflectionPermissionT<_ReflectionPermission> TCOM_ReflectionPermission;

// *********************************************************************//
// DispIntf:  _ReflectionPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AEB3727F-5C3A-34C4-BF18-A38F088AC8C7}
// *********************************************************************//
template<class T>
class _ReflectionPermissionDispT : public TAutoDriver<_ReflectionPermission>
{
public:
  _ReflectionPermissionDispT(){}

  _ReflectionPermissionDispT(_ReflectionPermission *pintf)
  {
    TAutoDriver<_ReflectionPermission>::Bind(pintf, false);
  }

  _ReflectionPermissionDispT(_ReflectionPermissionPtr pintf)
  {
    TAutoDriver<_ReflectionPermission>::Bind(pintf, true);
  }

  _ReflectionPermissionDispT& operator=(_ReflectionPermission *pintf)
  {
    TAutoDriver<_ReflectionPermission>::Bind(pintf, false);
    return *this;
  }

  _ReflectionPermissionDispT& operator=(_ReflectionPermissionPtr pintf)
  {
    TAutoDriver<_ReflectionPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ReflectionPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ReflectionPermission);
  }


};
typedef _ReflectionPermissionDispT<_ReflectionPermission> _ReflectionPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_PrincipalPermission
// Interface: _PrincipalPermission
// *********************************************************************//
template <class T /* _PrincipalPermission */ >
class TCOM_PrincipalPermissionT : public TComInterface<_PrincipalPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PrincipalPermissionT() {}
  TCOM_PrincipalPermissionT(_PrincipalPermission *intf, bool addRef = false) : TComInterface<_PrincipalPermission>(intf, addRef) {}
  TCOM_PrincipalPermissionT(const TCOM_PrincipalPermissionT& src) : TComInterface<_PrincipalPermission>(src) {}
  TCOM_PrincipalPermissionT& operator=(const TCOM_PrincipalPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PrincipalPermissionT<_PrincipalPermission> TCOM_PrincipalPermission;

// *********************************************************************//
// DispIntf:  _PrincipalPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7C6B06D1-63AD-35EF-A938-149B4AD9A71F}
// *********************************************************************//
template<class T>
class _PrincipalPermissionDispT : public TAutoDriver<_PrincipalPermission>
{
public:
  _PrincipalPermissionDispT(){}

  _PrincipalPermissionDispT(_PrincipalPermission *pintf)
  {
    TAutoDriver<_PrincipalPermission>::Bind(pintf, false);
  }

  _PrincipalPermissionDispT(_PrincipalPermissionPtr pintf)
  {
    TAutoDriver<_PrincipalPermission>::Bind(pintf, true);
  }

  _PrincipalPermissionDispT& operator=(_PrincipalPermission *pintf)
  {
    TAutoDriver<_PrincipalPermission>::Bind(pintf, false);
    return *this;
  }

  _PrincipalPermissionDispT& operator=(_PrincipalPermissionPtr pintf)
  {
    TAutoDriver<_PrincipalPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PrincipalPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PrincipalPermission);
  }


};
typedef _PrincipalPermissionDispT<_PrincipalPermission> _PrincipalPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SecurityPermission
// Interface: _SecurityPermission
// *********************************************************************//
template <class T /* _SecurityPermission */ >
class TCOM_SecurityPermissionT : public TComInterface<_SecurityPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SecurityPermissionT() {}
  TCOM_SecurityPermissionT(_SecurityPermission *intf, bool addRef = false) : TComInterface<_SecurityPermission>(intf, addRef) {}
  TCOM_SecurityPermissionT(const TCOM_SecurityPermissionT& src) : TComInterface<_SecurityPermission>(src) {}
  TCOM_SecurityPermissionT& operator=(const TCOM_SecurityPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SecurityPermissionT<_SecurityPermission> TCOM_SecurityPermission;

// *********************************************************************//
// DispIntf:  _SecurityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {33C54A2D-02BD-3848-80B6-742D537085E5}
// *********************************************************************//
template<class T>
class _SecurityPermissionDispT : public TAutoDriver<_SecurityPermission>
{
public:
  _SecurityPermissionDispT(){}

  _SecurityPermissionDispT(_SecurityPermission *pintf)
  {
    TAutoDriver<_SecurityPermission>::Bind(pintf, false);
  }

  _SecurityPermissionDispT(_SecurityPermissionPtr pintf)
  {
    TAutoDriver<_SecurityPermission>::Bind(pintf, true);
  }

  _SecurityPermissionDispT& operator=(_SecurityPermission *pintf)
  {
    TAutoDriver<_SecurityPermission>::Bind(pintf, false);
    return *this;
  }

  _SecurityPermissionDispT& operator=(_SecurityPermissionPtr pintf)
  {
    TAutoDriver<_SecurityPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SecurityPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SecurityPermission);
  }


};
typedef _SecurityPermissionDispT<_SecurityPermission> _SecurityPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SiteIdentityPermission
// Interface: _SiteIdentityPermission
// *********************************************************************//
template <class T /* _SiteIdentityPermission */ >
class TCOM_SiteIdentityPermissionT : public TComInterface<_SiteIdentityPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SiteIdentityPermissionT() {}
  TCOM_SiteIdentityPermissionT(_SiteIdentityPermission *intf, bool addRef = false) : TComInterface<_SiteIdentityPermission>(intf, addRef) {}
  TCOM_SiteIdentityPermissionT(const TCOM_SiteIdentityPermissionT& src) : TComInterface<_SiteIdentityPermission>(src) {}
  TCOM_SiteIdentityPermissionT& operator=(const TCOM_SiteIdentityPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SiteIdentityPermissionT<_SiteIdentityPermission> TCOM_SiteIdentityPermission;

// *********************************************************************//
// DispIntf:  _SiteIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {790B3EE9-7E06-3CD0-8243-5848486D6A78}
// *********************************************************************//
template<class T>
class _SiteIdentityPermissionDispT : public TAutoDriver<_SiteIdentityPermission>
{
public:
  _SiteIdentityPermissionDispT(){}

  _SiteIdentityPermissionDispT(_SiteIdentityPermission *pintf)
  {
    TAutoDriver<_SiteIdentityPermission>::Bind(pintf, false);
  }

  _SiteIdentityPermissionDispT(_SiteIdentityPermissionPtr pintf)
  {
    TAutoDriver<_SiteIdentityPermission>::Bind(pintf, true);
  }

  _SiteIdentityPermissionDispT& operator=(_SiteIdentityPermission *pintf)
  {
    TAutoDriver<_SiteIdentityPermission>::Bind(pintf, false);
    return *this;
  }

  _SiteIdentityPermissionDispT& operator=(_SiteIdentityPermissionPtr pintf)
  {
    TAutoDriver<_SiteIdentityPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SiteIdentityPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SiteIdentityPermission);
  }


};
typedef _SiteIdentityPermissionDispT<_SiteIdentityPermission> _SiteIdentityPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_StrongNameIdentityPermission
// Interface: _StrongNameIdentityPermission
// *********************************************************************//
template <class T /* _StrongNameIdentityPermission */ >
class TCOM_StrongNameIdentityPermissionT : public TComInterface<_StrongNameIdentityPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StrongNameIdentityPermissionT() {}
  TCOM_StrongNameIdentityPermissionT(_StrongNameIdentityPermission *intf, bool addRef = false) : TComInterface<_StrongNameIdentityPermission>(intf, addRef) {}
  TCOM_StrongNameIdentityPermissionT(const TCOM_StrongNameIdentityPermissionT& src) : TComInterface<_StrongNameIdentityPermission>(src) {}
  TCOM_StrongNameIdentityPermissionT& operator=(const TCOM_StrongNameIdentityPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StrongNameIdentityPermissionT<_StrongNameIdentityPermission> TCOM_StrongNameIdentityPermission;

// *********************************************************************//
// DispIntf:  _StrongNameIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5F1562FB-0160-3655-BAEA-B15BEF609161}
// *********************************************************************//
template<class T>
class _StrongNameIdentityPermissionDispT : public TAutoDriver<_StrongNameIdentityPermission>
{
public:
  _StrongNameIdentityPermissionDispT(){}

  _StrongNameIdentityPermissionDispT(_StrongNameIdentityPermission *pintf)
  {
    TAutoDriver<_StrongNameIdentityPermission>::Bind(pintf, false);
  }

  _StrongNameIdentityPermissionDispT(_StrongNameIdentityPermissionPtr pintf)
  {
    TAutoDriver<_StrongNameIdentityPermission>::Bind(pintf, true);
  }

  _StrongNameIdentityPermissionDispT& operator=(_StrongNameIdentityPermission *pintf)
  {
    TAutoDriver<_StrongNameIdentityPermission>::Bind(pintf, false);
    return *this;
  }

  _StrongNameIdentityPermissionDispT& operator=(_StrongNameIdentityPermissionPtr pintf)
  {
    TAutoDriver<_StrongNameIdentityPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StrongNameIdentityPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StrongNameIdentityPermission);
  }


};
typedef _StrongNameIdentityPermissionDispT<_StrongNameIdentityPermission> _StrongNameIdentityPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_StrongNamePublicKeyBlob
// Interface: _StrongNamePublicKeyBlob
// *********************************************************************//
template <class T /* _StrongNamePublicKeyBlob */ >
class TCOM_StrongNamePublicKeyBlobT : public TComInterface<_StrongNamePublicKeyBlob>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_StrongNamePublicKeyBlobT() {}
  TCOM_StrongNamePublicKeyBlobT(_StrongNamePublicKeyBlob *intf, bool addRef = false) : TComInterface<_StrongNamePublicKeyBlob>(intf, addRef) {}
  TCOM_StrongNamePublicKeyBlobT(const TCOM_StrongNamePublicKeyBlobT& src) : TComInterface<_StrongNamePublicKeyBlob>(src) {}
  TCOM_StrongNamePublicKeyBlobT& operator=(const TCOM_StrongNamePublicKeyBlobT& src) { Bind(src, true); return *this;}


};
typedef TCOM_StrongNamePublicKeyBlobT<_StrongNamePublicKeyBlob> TCOM_StrongNamePublicKeyBlob;

// *********************************************************************//
// DispIntf:  _StrongNamePublicKeyBlob
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AF53D21A-D6AF-3406-B399-7DF9D2AAD48A}
// *********************************************************************//
template<class T>
class _StrongNamePublicKeyBlobDispT : public TAutoDriver<_StrongNamePublicKeyBlob>
{
public:
  _StrongNamePublicKeyBlobDispT(){}

  _StrongNamePublicKeyBlobDispT(_StrongNamePublicKeyBlob *pintf)
  {
    TAutoDriver<_StrongNamePublicKeyBlob>::Bind(pintf, false);
  }

  _StrongNamePublicKeyBlobDispT(_StrongNamePublicKeyBlobPtr pintf)
  {
    TAutoDriver<_StrongNamePublicKeyBlob>::Bind(pintf, true);
  }

  _StrongNamePublicKeyBlobDispT& operator=(_StrongNamePublicKeyBlob *pintf)
  {
    TAutoDriver<_StrongNamePublicKeyBlob>::Bind(pintf, false);
    return *this;
  }

  _StrongNamePublicKeyBlobDispT& operator=(_StrongNamePublicKeyBlobPtr pintf)
  {
    TAutoDriver<_StrongNamePublicKeyBlob>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_StrongNamePublicKeyBlob));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_StrongNamePublicKeyBlob);
  }


};
typedef _StrongNamePublicKeyBlobDispT<_StrongNamePublicKeyBlob> _StrongNamePublicKeyBlobDisp;

// *********************************************************************//
// SmartIntf: TCOM_UIPermission
// Interface: _UIPermission
// *********************************************************************//
template <class T /* _UIPermission */ >
class TCOM_UIPermissionT : public TComInterface<_UIPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UIPermissionT() {}
  TCOM_UIPermissionT(_UIPermission *intf, bool addRef = false) : TComInterface<_UIPermission>(intf, addRef) {}
  TCOM_UIPermissionT(const TCOM_UIPermissionT& src) : TComInterface<_UIPermission>(src) {}
  TCOM_UIPermissionT& operator=(const TCOM_UIPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UIPermissionT<_UIPermission> TCOM_UIPermission;

// *********************************************************************//
// DispIntf:  _UIPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {47698389-F182-3A67-87DF-AED490E14DC6}
// *********************************************************************//
template<class T>
class _UIPermissionDispT : public TAutoDriver<_UIPermission>
{
public:
  _UIPermissionDispT(){}

  _UIPermissionDispT(_UIPermission *pintf)
  {
    TAutoDriver<_UIPermission>::Bind(pintf, false);
  }

  _UIPermissionDispT(_UIPermissionPtr pintf)
  {
    TAutoDriver<_UIPermission>::Bind(pintf, true);
  }

  _UIPermissionDispT& operator=(_UIPermission *pintf)
  {
    TAutoDriver<_UIPermission>::Bind(pintf, false);
    return *this;
  }

  _UIPermissionDispT& operator=(_UIPermissionPtr pintf)
  {
    TAutoDriver<_UIPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UIPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UIPermission);
  }


};
typedef _UIPermissionDispT<_UIPermission> _UIPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_UrlIdentityPermission
// Interface: _UrlIdentityPermission
// *********************************************************************//
template <class T /* _UrlIdentityPermission */ >
class TCOM_UrlIdentityPermissionT : public TComInterface<_UrlIdentityPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UrlIdentityPermissionT() {}
  TCOM_UrlIdentityPermissionT(_UrlIdentityPermission *intf, bool addRef = false) : TComInterface<_UrlIdentityPermission>(intf, addRef) {}
  TCOM_UrlIdentityPermissionT(const TCOM_UrlIdentityPermissionT& src) : TComInterface<_UrlIdentityPermission>(src) {}
  TCOM_UrlIdentityPermissionT& operator=(const TCOM_UrlIdentityPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UrlIdentityPermissionT<_UrlIdentityPermission> TCOM_UrlIdentityPermission;

// *********************************************************************//
// DispIntf:  _UrlIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EC7CAC31-08A2-393B-BDF2-D052EB53AF2C}
// *********************************************************************//
template<class T>
class _UrlIdentityPermissionDispT : public TAutoDriver<_UrlIdentityPermission>
{
public:
  _UrlIdentityPermissionDispT(){}

  _UrlIdentityPermissionDispT(_UrlIdentityPermission *pintf)
  {
    TAutoDriver<_UrlIdentityPermission>::Bind(pintf, false);
  }

  _UrlIdentityPermissionDispT(_UrlIdentityPermissionPtr pintf)
  {
    TAutoDriver<_UrlIdentityPermission>::Bind(pintf, true);
  }

  _UrlIdentityPermissionDispT& operator=(_UrlIdentityPermission *pintf)
  {
    TAutoDriver<_UrlIdentityPermission>::Bind(pintf, false);
    return *this;
  }

  _UrlIdentityPermissionDispT& operator=(_UrlIdentityPermissionPtr pintf)
  {
    TAutoDriver<_UrlIdentityPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UrlIdentityPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UrlIdentityPermission);
  }


};
typedef _UrlIdentityPermissionDispT<_UrlIdentityPermission> _UrlIdentityPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ZoneIdentityPermission
// Interface: _ZoneIdentityPermission
// *********************************************************************//
template <class T /* _ZoneIdentityPermission */ >
class TCOM_ZoneIdentityPermissionT : public TComInterface<_ZoneIdentityPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ZoneIdentityPermissionT() {}
  TCOM_ZoneIdentityPermissionT(_ZoneIdentityPermission *intf, bool addRef = false) : TComInterface<_ZoneIdentityPermission>(intf, addRef) {}
  TCOM_ZoneIdentityPermissionT(const TCOM_ZoneIdentityPermissionT& src) : TComInterface<_ZoneIdentityPermission>(src) {}
  TCOM_ZoneIdentityPermissionT& operator=(const TCOM_ZoneIdentityPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ZoneIdentityPermissionT<_ZoneIdentityPermission> TCOM_ZoneIdentityPermission;

// *********************************************************************//
// DispIntf:  _ZoneIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {38B2F8D7-8CF4-323B-9C17-9C55EE287A63}
// *********************************************************************//
template<class T>
class _ZoneIdentityPermissionDispT : public TAutoDriver<_ZoneIdentityPermission>
{
public:
  _ZoneIdentityPermissionDispT(){}

  _ZoneIdentityPermissionDispT(_ZoneIdentityPermission *pintf)
  {
    TAutoDriver<_ZoneIdentityPermission>::Bind(pintf, false);
  }

  _ZoneIdentityPermissionDispT(_ZoneIdentityPermissionPtr pintf)
  {
    TAutoDriver<_ZoneIdentityPermission>::Bind(pintf, true);
  }

  _ZoneIdentityPermissionDispT& operator=(_ZoneIdentityPermission *pintf)
  {
    TAutoDriver<_ZoneIdentityPermission>::Bind(pintf, false);
    return *this;
  }

  _ZoneIdentityPermissionDispT& operator=(_ZoneIdentityPermissionPtr pintf)
  {
    TAutoDriver<_ZoneIdentityPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ZoneIdentityPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ZoneIdentityPermission);
  }


};
typedef _ZoneIdentityPermissionDispT<_ZoneIdentityPermission> _ZoneIdentityPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_GacIdentityPermissionAttribute
// Interface: _GacIdentityPermissionAttribute
// *********************************************************************//
template <class T /* _GacIdentityPermissionAttribute */ >
class TCOM_GacIdentityPermissionAttributeT : public TComInterface<_GacIdentityPermissionAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GacIdentityPermissionAttributeT() {}
  TCOM_GacIdentityPermissionAttributeT(_GacIdentityPermissionAttribute *intf, bool addRef = false) : TComInterface<_GacIdentityPermissionAttribute>(intf, addRef) {}
  TCOM_GacIdentityPermissionAttributeT(const TCOM_GacIdentityPermissionAttributeT& src) : TComInterface<_GacIdentityPermissionAttribute>(src) {}
  TCOM_GacIdentityPermissionAttributeT& operator=(const TCOM_GacIdentityPermissionAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GacIdentityPermissionAttributeT<_GacIdentityPermissionAttribute> TCOM_GacIdentityPermissionAttribute;

// *********************************************************************//
// DispIntf:  _GacIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5F19E082-26F8-3361-B338-9BACB98809A4}
// *********************************************************************//
template<class T>
class _GacIdentityPermissionAttributeDispT : public TAutoDriver<_GacIdentityPermissionAttribute>
{
public:
  _GacIdentityPermissionAttributeDispT(){}

  _GacIdentityPermissionAttributeDispT(_GacIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_GacIdentityPermissionAttribute>::Bind(pintf, false);
  }

  _GacIdentityPermissionAttributeDispT(_GacIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_GacIdentityPermissionAttribute>::Bind(pintf, true);
  }

  _GacIdentityPermissionAttributeDispT& operator=(_GacIdentityPermissionAttribute *pintf)
  {
    TAutoDriver<_GacIdentityPermissionAttribute>::Bind(pintf, false);
    return *this;
  }

  _GacIdentityPermissionAttributeDispT& operator=(_GacIdentityPermissionAttributePtr pintf)
  {
    TAutoDriver<_GacIdentityPermissionAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GacIdentityPermissionAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GacIdentityPermissionAttribute);
  }


};
typedef _GacIdentityPermissionAttributeDispT<_GacIdentityPermissionAttribute> _GacIdentityPermissionAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_GacIdentityPermission
// Interface: _GacIdentityPermission
// *********************************************************************//
template <class T /* _GacIdentityPermission */ >
class TCOM_GacIdentityPermissionT : public TComInterface<_GacIdentityPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GacIdentityPermissionT() {}
  TCOM_GacIdentityPermissionT(_GacIdentityPermission *intf, bool addRef = false) : TComInterface<_GacIdentityPermission>(intf, addRef) {}
  TCOM_GacIdentityPermissionT(const TCOM_GacIdentityPermissionT& src) : TComInterface<_GacIdentityPermission>(src) {}
  TCOM_GacIdentityPermissionT& operator=(const TCOM_GacIdentityPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GacIdentityPermissionT<_GacIdentityPermission> TCOM_GacIdentityPermission;

// *********************************************************************//
// DispIntf:  _GacIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9637792-5BE8-3C93-A501-49F0E840DE38}
// *********************************************************************//
template<class T>
class _GacIdentityPermissionDispT : public TAutoDriver<_GacIdentityPermission>
{
public:
  _GacIdentityPermissionDispT(){}

  _GacIdentityPermissionDispT(_GacIdentityPermission *pintf)
  {
    TAutoDriver<_GacIdentityPermission>::Bind(pintf, false);
  }

  _GacIdentityPermissionDispT(_GacIdentityPermissionPtr pintf)
  {
    TAutoDriver<_GacIdentityPermission>::Bind(pintf, true);
  }

  _GacIdentityPermissionDispT& operator=(_GacIdentityPermission *pintf)
  {
    TAutoDriver<_GacIdentityPermission>::Bind(pintf, false);
    return *this;
  }

  _GacIdentityPermissionDispT& operator=(_GacIdentityPermissionPtr pintf)
  {
    TAutoDriver<_GacIdentityPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GacIdentityPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GacIdentityPermission);
  }


};
typedef _GacIdentityPermissionDispT<_GacIdentityPermission> _GacIdentityPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAccessEntry
// Interface: _KeyContainerPermissionAccessEntry
// *********************************************************************//
template <class T /* _KeyContainerPermissionAccessEntry */ >
class TCOM_KeyContainerPermissionAccessEntryT : public TComInterface<_KeyContainerPermissionAccessEntry>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeyContainerPermissionAccessEntryT() {}
  TCOM_KeyContainerPermissionAccessEntryT(_KeyContainerPermissionAccessEntry *intf, bool addRef = false) : TComInterface<_KeyContainerPermissionAccessEntry>(intf, addRef) {}
  TCOM_KeyContainerPermissionAccessEntryT(const TCOM_KeyContainerPermissionAccessEntryT& src) : TComInterface<_KeyContainerPermissionAccessEntry>(src) {}
  TCOM_KeyContainerPermissionAccessEntryT& operator=(const TCOM_KeyContainerPermissionAccessEntryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeyContainerPermissionAccessEntryT<_KeyContainerPermissionAccessEntry> TCOM_KeyContainerPermissionAccessEntry;

// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAccessEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {094351EA-DBC1-327F-8A83-913B593A66BE}
// *********************************************************************//
template<class T>
class _KeyContainerPermissionAccessEntryDispT : public TAutoDriver<_KeyContainerPermissionAccessEntry>
{
public:
  _KeyContainerPermissionAccessEntryDispT(){}

  _KeyContainerPermissionAccessEntryDispT(_KeyContainerPermissionAccessEntry *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntry>::Bind(pintf, false);
  }

  _KeyContainerPermissionAccessEntryDispT(_KeyContainerPermissionAccessEntryPtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntry>::Bind(pintf, true);
  }

  _KeyContainerPermissionAccessEntryDispT& operator=(_KeyContainerPermissionAccessEntry *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntry>::Bind(pintf, false);
    return *this;
  }

  _KeyContainerPermissionAccessEntryDispT& operator=(_KeyContainerPermissionAccessEntryPtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeyContainerPermissionAccessEntry));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeyContainerPermissionAccessEntry);
  }


};
typedef _KeyContainerPermissionAccessEntryDispT<_KeyContainerPermissionAccessEntry> _KeyContainerPermissionAccessEntryDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAccessEntryCollection
// Interface: _KeyContainerPermissionAccessEntryCollection
// *********************************************************************//
template <class T /* _KeyContainerPermissionAccessEntryCollection */ >
class TCOM_KeyContainerPermissionAccessEntryCollectionT : public TComInterface<_KeyContainerPermissionAccessEntryCollection>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeyContainerPermissionAccessEntryCollectionT() {}
  TCOM_KeyContainerPermissionAccessEntryCollectionT(_KeyContainerPermissionAccessEntryCollection *intf, bool addRef = false) : TComInterface<_KeyContainerPermissionAccessEntryCollection>(intf, addRef) {}
  TCOM_KeyContainerPermissionAccessEntryCollectionT(const TCOM_KeyContainerPermissionAccessEntryCollectionT& src) : TComInterface<_KeyContainerPermissionAccessEntryCollection>(src) {}
  TCOM_KeyContainerPermissionAccessEntryCollectionT& operator=(const TCOM_KeyContainerPermissionAccessEntryCollectionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeyContainerPermissionAccessEntryCollectionT<_KeyContainerPermissionAccessEntryCollection> TCOM_KeyContainerPermissionAccessEntryCollection;

// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAccessEntryCollection
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {28ECF94E-3510-3A3E-8BD1-F866F45F3B06}
// *********************************************************************//
template<class T>
class _KeyContainerPermissionAccessEntryCollectionDispT : public TAutoDriver<_KeyContainerPermissionAccessEntryCollection>
{
public:
  _KeyContainerPermissionAccessEntryCollectionDispT(){}

  _KeyContainerPermissionAccessEntryCollectionDispT(_KeyContainerPermissionAccessEntryCollection *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryCollection>::Bind(pintf, false);
  }

  _KeyContainerPermissionAccessEntryCollectionDispT(_KeyContainerPermissionAccessEntryCollectionPtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryCollection>::Bind(pintf, true);
  }

  _KeyContainerPermissionAccessEntryCollectionDispT& operator=(_KeyContainerPermissionAccessEntryCollection *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryCollection>::Bind(pintf, false);
    return *this;
  }

  _KeyContainerPermissionAccessEntryCollectionDispT& operator=(_KeyContainerPermissionAccessEntryCollectionPtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryCollection>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeyContainerPermissionAccessEntryCollection));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeyContainerPermissionAccessEntryCollection);
  }


};
typedef _KeyContainerPermissionAccessEntryCollectionDispT<_KeyContainerPermissionAccessEntryCollection> _KeyContainerPermissionAccessEntryCollectionDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAccessEntryEnumerator
// Interface: _KeyContainerPermissionAccessEntryEnumerator
// *********************************************************************//
template <class T /* _KeyContainerPermissionAccessEntryEnumerator */ >
class TCOM_KeyContainerPermissionAccessEntryEnumeratorT : public TComInterface<_KeyContainerPermissionAccessEntryEnumerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeyContainerPermissionAccessEntryEnumeratorT() {}
  TCOM_KeyContainerPermissionAccessEntryEnumeratorT(_KeyContainerPermissionAccessEntryEnumerator *intf, bool addRef = false) : TComInterface<_KeyContainerPermissionAccessEntryEnumerator>(intf, addRef) {}
  TCOM_KeyContainerPermissionAccessEntryEnumeratorT(const TCOM_KeyContainerPermissionAccessEntryEnumeratorT& src) : TComInterface<_KeyContainerPermissionAccessEntryEnumerator>(src) {}
  TCOM_KeyContainerPermissionAccessEntryEnumeratorT& operator=(const TCOM_KeyContainerPermissionAccessEntryEnumeratorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeyContainerPermissionAccessEntryEnumeratorT<_KeyContainerPermissionAccessEntryEnumerator> TCOM_KeyContainerPermissionAccessEntryEnumerator;

// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAccessEntryEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {293187EA-5F88-316F-86A5-533B0C7B353F}
// *********************************************************************//
template<class T>
class _KeyContainerPermissionAccessEntryEnumeratorDispT : public TAutoDriver<_KeyContainerPermissionAccessEntryEnumerator>
{
public:
  _KeyContainerPermissionAccessEntryEnumeratorDispT(){}

  _KeyContainerPermissionAccessEntryEnumeratorDispT(_KeyContainerPermissionAccessEntryEnumerator *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryEnumerator>::Bind(pintf, false);
  }

  _KeyContainerPermissionAccessEntryEnumeratorDispT(_KeyContainerPermissionAccessEntryEnumeratorPtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryEnumerator>::Bind(pintf, true);
  }

  _KeyContainerPermissionAccessEntryEnumeratorDispT& operator=(_KeyContainerPermissionAccessEntryEnumerator *pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryEnumerator>::Bind(pintf, false);
    return *this;
  }

  _KeyContainerPermissionAccessEntryEnumeratorDispT& operator=(_KeyContainerPermissionAccessEntryEnumeratorPtr pintf)
  {
    TAutoDriver<_KeyContainerPermissionAccessEntryEnumerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeyContainerPermissionAccessEntryEnumerator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeyContainerPermissionAccessEntryEnumerator);
  }


};
typedef _KeyContainerPermissionAccessEntryEnumeratorDispT<_KeyContainerPermissionAccessEntryEnumerator> _KeyContainerPermissionAccessEntryEnumeratorDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermission
// Interface: _KeyContainerPermission
// *********************************************************************//
template <class T /* _KeyContainerPermission */ >
class TCOM_KeyContainerPermissionT : public TComInterface<_KeyContainerPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeyContainerPermissionT() {}
  TCOM_KeyContainerPermissionT(_KeyContainerPermission *intf, bool addRef = false) : TComInterface<_KeyContainerPermission>(intf, addRef) {}
  TCOM_KeyContainerPermissionT(const TCOM_KeyContainerPermissionT& src) : TComInterface<_KeyContainerPermission>(src) {}
  TCOM_KeyContainerPermissionT& operator=(const TCOM_KeyContainerPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeyContainerPermissionT<_KeyContainerPermission> TCOM_KeyContainerPermission;

// *********************************************************************//
// DispIntf:  _KeyContainerPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {107A3CF1-B35E-3A23-B660-60264B231225}
// *********************************************************************//
template<class T>
class _KeyContainerPermissionDispT : public TAutoDriver<_KeyContainerPermission>
{
public:
  _KeyContainerPermissionDispT(){}

  _KeyContainerPermissionDispT(_KeyContainerPermission *pintf)
  {
    TAutoDriver<_KeyContainerPermission>::Bind(pintf, false);
  }

  _KeyContainerPermissionDispT(_KeyContainerPermissionPtr pintf)
  {
    TAutoDriver<_KeyContainerPermission>::Bind(pintf, true);
  }

  _KeyContainerPermissionDispT& operator=(_KeyContainerPermission *pintf)
  {
    TAutoDriver<_KeyContainerPermission>::Bind(pintf, false);
    return *this;
  }

  _KeyContainerPermissionDispT& operator=(_KeyContainerPermissionPtr pintf)
  {
    TAutoDriver<_KeyContainerPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeyContainerPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeyContainerPermission);
  }


};
typedef _KeyContainerPermissionDispT<_KeyContainerPermission> _KeyContainerPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_PublisherIdentityPermission
// Interface: _PublisherIdentityPermission
// *********************************************************************//
template <class T /* _PublisherIdentityPermission */ >
class TCOM_PublisherIdentityPermissionT : public TComInterface<_PublisherIdentityPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PublisherIdentityPermissionT() {}
  TCOM_PublisherIdentityPermissionT(_PublisherIdentityPermission *intf, bool addRef = false) : TComInterface<_PublisherIdentityPermission>(intf, addRef) {}
  TCOM_PublisherIdentityPermissionT(const TCOM_PublisherIdentityPermissionT& src) : TComInterface<_PublisherIdentityPermission>(src) {}
  TCOM_PublisherIdentityPermissionT& operator=(const TCOM_PublisherIdentityPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PublisherIdentityPermissionT<_PublisherIdentityPermission> TCOM_PublisherIdentityPermission;

// *********************************************************************//
// DispIntf:  _PublisherIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E86CC74A-1233-3DF3-B13F-8B27EEAAC1F6}
// *********************************************************************//
template<class T>
class _PublisherIdentityPermissionDispT : public TAutoDriver<_PublisherIdentityPermission>
{
public:
  _PublisherIdentityPermissionDispT(){}

  _PublisherIdentityPermissionDispT(_PublisherIdentityPermission *pintf)
  {
    TAutoDriver<_PublisherIdentityPermission>::Bind(pintf, false);
  }

  _PublisherIdentityPermissionDispT(_PublisherIdentityPermissionPtr pintf)
  {
    TAutoDriver<_PublisherIdentityPermission>::Bind(pintf, true);
  }

  _PublisherIdentityPermissionDispT& operator=(_PublisherIdentityPermission *pintf)
  {
    TAutoDriver<_PublisherIdentityPermission>::Bind(pintf, false);
    return *this;
  }

  _PublisherIdentityPermissionDispT& operator=(_PublisherIdentityPermissionPtr pintf)
  {
    TAutoDriver<_PublisherIdentityPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PublisherIdentityPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PublisherIdentityPermission);
  }


};
typedef _PublisherIdentityPermissionDispT<_PublisherIdentityPermission> _PublisherIdentityPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_RegistryPermission
// Interface: _RegistryPermission
// *********************************************************************//
template <class T /* _RegistryPermission */ >
class TCOM_RegistryPermissionT : public TComInterface<_RegistryPermission>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RegistryPermissionT() {}
  TCOM_RegistryPermissionT(_RegistryPermission *intf, bool addRef = false) : TComInterface<_RegistryPermission>(intf, addRef) {}
  TCOM_RegistryPermissionT(const TCOM_RegistryPermissionT& src) : TComInterface<_RegistryPermission>(src) {}
  TCOM_RegistryPermissionT& operator=(const TCOM_RegistryPermissionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RegistryPermissionT<_RegistryPermission> TCOM_RegistryPermission;

// *********************************************************************//
// DispIntf:  _RegistryPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C3FB5510-3454-3B31-B64F-DE6AAD6BE820}
// *********************************************************************//
template<class T>
class _RegistryPermissionDispT : public TAutoDriver<_RegistryPermission>
{
public:
  _RegistryPermissionDispT(){}

  _RegistryPermissionDispT(_RegistryPermission *pintf)
  {
    TAutoDriver<_RegistryPermission>::Bind(pintf, false);
  }

  _RegistryPermissionDispT(_RegistryPermissionPtr pintf)
  {
    TAutoDriver<_RegistryPermission>::Bind(pintf, true);
  }

  _RegistryPermissionDispT& operator=(_RegistryPermission *pintf)
  {
    TAutoDriver<_RegistryPermission>::Bind(pintf, false);
    return *this;
  }

  _RegistryPermissionDispT& operator=(_RegistryPermissionPtr pintf)
  {
    TAutoDriver<_RegistryPermission>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RegistryPermission));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RegistryPermission);
  }


};
typedef _RegistryPermissionDispT<_RegistryPermission> _RegistryPermissionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SuppressUnmanagedCodeSecurityAttribute
// Interface: _SuppressUnmanagedCodeSecurityAttribute
// *********************************************************************//
template <class T /* _SuppressUnmanagedCodeSecurityAttribute */ >
class TCOM_SuppressUnmanagedCodeSecurityAttributeT : public TComInterface<_SuppressUnmanagedCodeSecurityAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SuppressUnmanagedCodeSecurityAttributeT() {}
  TCOM_SuppressUnmanagedCodeSecurityAttributeT(_SuppressUnmanagedCodeSecurityAttribute *intf, bool addRef = false) : TComInterface<_SuppressUnmanagedCodeSecurityAttribute>(intf, addRef) {}
  TCOM_SuppressUnmanagedCodeSecurityAttributeT(const TCOM_SuppressUnmanagedCodeSecurityAttributeT& src) : TComInterface<_SuppressUnmanagedCodeSecurityAttribute>(src) {}
  TCOM_SuppressUnmanagedCodeSecurityAttributeT& operator=(const TCOM_SuppressUnmanagedCodeSecurityAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SuppressUnmanagedCodeSecurityAttributeT<_SuppressUnmanagedCodeSecurityAttribute> TCOM_SuppressUnmanagedCodeSecurityAttribute;

// *********************************************************************//
// DispIntf:  _SuppressUnmanagedCodeSecurityAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8000E51A-541C-3B20-A8EC-C8A8B41116C4}
// *********************************************************************//
template<class T>
class _SuppressUnmanagedCodeSecurityAttributeDispT : public TAutoDriver<_SuppressUnmanagedCodeSecurityAttribute>
{
public:
  _SuppressUnmanagedCodeSecurityAttributeDispT(){}

  _SuppressUnmanagedCodeSecurityAttributeDispT(_SuppressUnmanagedCodeSecurityAttribute *pintf)
  {
    TAutoDriver<_SuppressUnmanagedCodeSecurityAttribute>::Bind(pintf, false);
  }

  _SuppressUnmanagedCodeSecurityAttributeDispT(_SuppressUnmanagedCodeSecurityAttributePtr pintf)
  {
    TAutoDriver<_SuppressUnmanagedCodeSecurityAttribute>::Bind(pintf, true);
  }

  _SuppressUnmanagedCodeSecurityAttributeDispT& operator=(_SuppressUnmanagedCodeSecurityAttribute *pintf)
  {
    TAutoDriver<_SuppressUnmanagedCodeSecurityAttribute>::Bind(pintf, false);
    return *this;
  }

  _SuppressUnmanagedCodeSecurityAttributeDispT& operator=(_SuppressUnmanagedCodeSecurityAttributePtr pintf)
  {
    TAutoDriver<_SuppressUnmanagedCodeSecurityAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SuppressUnmanagedCodeSecurityAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SuppressUnmanagedCodeSecurityAttribute);
  }


};
typedef _SuppressUnmanagedCodeSecurityAttributeDispT<_SuppressUnmanagedCodeSecurityAttribute> _SuppressUnmanagedCodeSecurityAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnverifiableCodeAttribute
// Interface: _UnverifiableCodeAttribute
// *********************************************************************//
template <class T /* _UnverifiableCodeAttribute */ >
class TCOM_UnverifiableCodeAttributeT : public TComInterface<_UnverifiableCodeAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnverifiableCodeAttributeT() {}
  TCOM_UnverifiableCodeAttributeT(_UnverifiableCodeAttribute *intf, bool addRef = false) : TComInterface<_UnverifiableCodeAttribute>(intf, addRef) {}
  TCOM_UnverifiableCodeAttributeT(const TCOM_UnverifiableCodeAttributeT& src) : TComInterface<_UnverifiableCodeAttribute>(src) {}
  TCOM_UnverifiableCodeAttributeT& operator=(const TCOM_UnverifiableCodeAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnverifiableCodeAttributeT<_UnverifiableCodeAttribute> TCOM_UnverifiableCodeAttribute;

// *********************************************************************//
// DispIntf:  _UnverifiableCodeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {41F41C1B-7B8D-39A3-A28F-AAE20787F469}
// *********************************************************************//
template<class T>
class _UnverifiableCodeAttributeDispT : public TAutoDriver<_UnverifiableCodeAttribute>
{
public:
  _UnverifiableCodeAttributeDispT(){}

  _UnverifiableCodeAttributeDispT(_UnverifiableCodeAttribute *pintf)
  {
    TAutoDriver<_UnverifiableCodeAttribute>::Bind(pintf, false);
  }

  _UnverifiableCodeAttributeDispT(_UnverifiableCodeAttributePtr pintf)
  {
    TAutoDriver<_UnverifiableCodeAttribute>::Bind(pintf, true);
  }

  _UnverifiableCodeAttributeDispT& operator=(_UnverifiableCodeAttribute *pintf)
  {
    TAutoDriver<_UnverifiableCodeAttribute>::Bind(pintf, false);
    return *this;
  }

  _UnverifiableCodeAttributeDispT& operator=(_UnverifiableCodeAttributePtr pintf)
  {
    TAutoDriver<_UnverifiableCodeAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnverifiableCodeAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnverifiableCodeAttribute);
  }


};
typedef _UnverifiableCodeAttributeDispT<_UnverifiableCodeAttribute> _UnverifiableCodeAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_AllowPartiallyTrustedCallersAttribute
// Interface: _AllowPartiallyTrustedCallersAttribute
// *********************************************************************//
template <class T /* _AllowPartiallyTrustedCallersAttribute */ >
class TCOM_AllowPartiallyTrustedCallersAttributeT : public TComInterface<_AllowPartiallyTrustedCallersAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AllowPartiallyTrustedCallersAttributeT() {}
  TCOM_AllowPartiallyTrustedCallersAttributeT(_AllowPartiallyTrustedCallersAttribute *intf, bool addRef = false) : TComInterface<_AllowPartiallyTrustedCallersAttribute>(intf, addRef) {}
  TCOM_AllowPartiallyTrustedCallersAttributeT(const TCOM_AllowPartiallyTrustedCallersAttributeT& src) : TComInterface<_AllowPartiallyTrustedCallersAttribute>(src) {}
  TCOM_AllowPartiallyTrustedCallersAttributeT& operator=(const TCOM_AllowPartiallyTrustedCallersAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AllowPartiallyTrustedCallersAttributeT<_AllowPartiallyTrustedCallersAttribute> TCOM_AllowPartiallyTrustedCallersAttribute;

// *********************************************************************//
// DispIntf:  _AllowPartiallyTrustedCallersAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F1C930C4-2233-3924-9840-231D008259B4}
// *********************************************************************//
template<class T>
class _AllowPartiallyTrustedCallersAttributeDispT : public TAutoDriver<_AllowPartiallyTrustedCallersAttribute>
{
public:
  _AllowPartiallyTrustedCallersAttributeDispT(){}

  _AllowPartiallyTrustedCallersAttributeDispT(_AllowPartiallyTrustedCallersAttribute *pintf)
  {
    TAutoDriver<_AllowPartiallyTrustedCallersAttribute>::Bind(pintf, false);
  }

  _AllowPartiallyTrustedCallersAttributeDispT(_AllowPartiallyTrustedCallersAttributePtr pintf)
  {
    TAutoDriver<_AllowPartiallyTrustedCallersAttribute>::Bind(pintf, true);
  }

  _AllowPartiallyTrustedCallersAttributeDispT& operator=(_AllowPartiallyTrustedCallersAttribute *pintf)
  {
    TAutoDriver<_AllowPartiallyTrustedCallersAttribute>::Bind(pintf, false);
    return *this;
  }

  _AllowPartiallyTrustedCallersAttributeDispT& operator=(_AllowPartiallyTrustedCallersAttributePtr pintf)
  {
    TAutoDriver<_AllowPartiallyTrustedCallersAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AllowPartiallyTrustedCallersAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AllowPartiallyTrustedCallersAttribute);
  }


};
typedef _AllowPartiallyTrustedCallersAttributeDispT<_AllowPartiallyTrustedCallersAttribute> _AllowPartiallyTrustedCallersAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_HostSecurityManager
// Interface: _HostSecurityManager
// *********************************************************************//
template <class T /* _HostSecurityManager */ >
class TCOM_HostSecurityManagerT : public TComInterface<_HostSecurityManager>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HostSecurityManagerT() {}
  TCOM_HostSecurityManagerT(_HostSecurityManager *intf, bool addRef = false) : TComInterface<_HostSecurityManager>(intf, addRef) {}
  TCOM_HostSecurityManagerT(const TCOM_HostSecurityManagerT& src) : TComInterface<_HostSecurityManager>(src) {}
  TCOM_HostSecurityManagerT& operator=(const TCOM_HostSecurityManagerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HostSecurityManagerT<_HostSecurityManager> TCOM_HostSecurityManager;

// *********************************************************************//
// DispIntf:  _HostSecurityManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9DEAE196-48C1-3590-9D0A-33716A214ACD}
// *********************************************************************//
template<class T>
class _HostSecurityManagerDispT : public TAutoDriver<_HostSecurityManager>
{
public:
  _HostSecurityManagerDispT(){}

  _HostSecurityManagerDispT(_HostSecurityManager *pintf)
  {
    TAutoDriver<_HostSecurityManager>::Bind(pintf, false);
  }

  _HostSecurityManagerDispT(_HostSecurityManagerPtr pintf)
  {
    TAutoDriver<_HostSecurityManager>::Bind(pintf, true);
  }

  _HostSecurityManagerDispT& operator=(_HostSecurityManager *pintf)
  {
    TAutoDriver<_HostSecurityManager>::Bind(pintf, false);
    return *this;
  }

  _HostSecurityManagerDispT& operator=(_HostSecurityManagerPtr pintf)
  {
    TAutoDriver<_HostSecurityManager>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HostSecurityManager));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HostSecurityManager);
  }


};
typedef _HostSecurityManagerDispT<_HostSecurityManager> _HostSecurityManagerDisp;

// *********************************************************************//
// SmartIntf: TCOM_PermissionSet
// Interface: _PermissionSet
// *********************************************************************//
template <class T /* _PermissionSet */ >
class TCOM_PermissionSetT : public TComInterface<_PermissionSet>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PermissionSetT() {}
  TCOM_PermissionSetT(_PermissionSet *intf, bool addRef = false) : TComInterface<_PermissionSet>(intf, addRef) {}
  TCOM_PermissionSetT(const TCOM_PermissionSetT& src) : TComInterface<_PermissionSet>(src) {}
  TCOM_PermissionSetT& operator=(const TCOM_PermissionSetT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PermissionSetT<_PermissionSet> TCOM_PermissionSet;

// *********************************************************************//
// DispIntf:  _PermissionSet
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C2AF4970-4FB6-319C-A8AA-0614D27F2B2C}
// *********************************************************************//
template<class T>
class _PermissionSetDispT : public TAutoDriver<_PermissionSet>
{
public:
  _PermissionSetDispT(){}

  _PermissionSetDispT(_PermissionSet *pintf)
  {
    TAutoDriver<_PermissionSet>::Bind(pintf, false);
  }

  _PermissionSetDispT(_PermissionSetPtr pintf)
  {
    TAutoDriver<_PermissionSet>::Bind(pintf, true);
  }

  _PermissionSetDispT& operator=(_PermissionSet *pintf)
  {
    TAutoDriver<_PermissionSet>::Bind(pintf, false);
    return *this;
  }

  _PermissionSetDispT& operator=(_PermissionSetPtr pintf)
  {
    TAutoDriver<_PermissionSet>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PermissionSet));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PermissionSet);
  }


};
typedef _PermissionSetDispT<_PermissionSet> _PermissionSetDisp;

// *********************************************************************//
// SmartIntf: TCOM_NamedPermissionSet
// Interface: _NamedPermissionSet
// *********************************************************************//
template <class T /* _NamedPermissionSet */ >
class TCOM_NamedPermissionSetT : public TComInterface<_NamedPermissionSet>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_NamedPermissionSetT() {}
  TCOM_NamedPermissionSetT(_NamedPermissionSet *intf, bool addRef = false) : TComInterface<_NamedPermissionSet>(intf, addRef) {}
  TCOM_NamedPermissionSetT(const TCOM_NamedPermissionSetT& src) : TComInterface<_NamedPermissionSet>(src) {}
  TCOM_NamedPermissionSetT& operator=(const TCOM_NamedPermissionSetT& src) { Bind(src, true); return *this;}


};
typedef TCOM_NamedPermissionSetT<_NamedPermissionSet> TCOM_NamedPermissionSet;

// *********************************************************************//
// DispIntf:  _NamedPermissionSet
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BA3E053F-ADE3-3233-874A-16E624C9A49B}
// *********************************************************************//
template<class T>
class _NamedPermissionSetDispT : public TAutoDriver<_NamedPermissionSet>
{
public:
  _NamedPermissionSetDispT(){}

  _NamedPermissionSetDispT(_NamedPermissionSet *pintf)
  {
    TAutoDriver<_NamedPermissionSet>::Bind(pintf, false);
  }

  _NamedPermissionSetDispT(_NamedPermissionSetPtr pintf)
  {
    TAutoDriver<_NamedPermissionSet>::Bind(pintf, true);
  }

  _NamedPermissionSetDispT& operator=(_NamedPermissionSet *pintf)
  {
    TAutoDriver<_NamedPermissionSet>::Bind(pintf, false);
    return *this;
  }

  _NamedPermissionSetDispT& operator=(_NamedPermissionSetPtr pintf)
  {
    TAutoDriver<_NamedPermissionSet>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_NamedPermissionSet));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_NamedPermissionSet);
  }


};
typedef _NamedPermissionSetDispT<_NamedPermissionSet> _NamedPermissionSetDisp;

// *********************************************************************//
// SmartIntf: TCOM_SecurityException
// Interface: _SecurityException
// *********************************************************************//
template <class T /* _SecurityException */ >
class TCOM_SecurityExceptionT : public TComInterface<_SecurityException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SecurityExceptionT() {}
  TCOM_SecurityExceptionT(_SecurityException *intf, bool addRef = false) : TComInterface<_SecurityException>(intf, addRef) {}
  TCOM_SecurityExceptionT(const TCOM_SecurityExceptionT& src) : TComInterface<_SecurityException>(src) {}
  TCOM_SecurityExceptionT& operator=(const TCOM_SecurityExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SecurityExceptionT<_SecurityException> TCOM_SecurityException;

// *********************************************************************//
// DispIntf:  _SecurityException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F174290F-E4CF-3976-88AA-4F8E32EB03DB}
// *********************************************************************//
template<class T>
class _SecurityExceptionDispT : public TAutoDriver<_SecurityException>
{
public:
  _SecurityExceptionDispT(){}

  _SecurityExceptionDispT(_SecurityException *pintf)
  {
    TAutoDriver<_SecurityException>::Bind(pintf, false);
  }

  _SecurityExceptionDispT(_SecurityExceptionPtr pintf)
  {
    TAutoDriver<_SecurityException>::Bind(pintf, true);
  }

  _SecurityExceptionDispT& operator=(_SecurityException *pintf)
  {
    TAutoDriver<_SecurityException>::Bind(pintf, false);
    return *this;
  }

  _SecurityExceptionDispT& operator=(_SecurityExceptionPtr pintf)
  {
    TAutoDriver<_SecurityException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SecurityException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SecurityException);
  }


};
typedef _SecurityExceptionDispT<_SecurityException> _SecurityExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_HostProtectionException
// Interface: _HostProtectionException
// *********************************************************************//
template <class T /* _HostProtectionException */ >
class TCOM_HostProtectionExceptionT : public TComInterface<_HostProtectionException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HostProtectionExceptionT() {}
  TCOM_HostProtectionExceptionT(_HostProtectionException *intf, bool addRef = false) : TComInterface<_HostProtectionException>(intf, addRef) {}
  TCOM_HostProtectionExceptionT(const TCOM_HostProtectionExceptionT& src) : TComInterface<_HostProtectionException>(src) {}
  TCOM_HostProtectionExceptionT& operator=(const TCOM_HostProtectionExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HostProtectionExceptionT<_HostProtectionException> TCOM_HostProtectionException;

// *********************************************************************//
// DispIntf:  _HostProtectionException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ED727A9B-6FC5-3FED-BEDD-7B66C847F87A}
// *********************************************************************//
template<class T>
class _HostProtectionExceptionDispT : public TAutoDriver<_HostProtectionException>
{
public:
  _HostProtectionExceptionDispT(){}

  _HostProtectionExceptionDispT(_HostProtectionException *pintf)
  {
    TAutoDriver<_HostProtectionException>::Bind(pintf, false);
  }

  _HostProtectionExceptionDispT(_HostProtectionExceptionPtr pintf)
  {
    TAutoDriver<_HostProtectionException>::Bind(pintf, true);
  }

  _HostProtectionExceptionDispT& operator=(_HostProtectionException *pintf)
  {
    TAutoDriver<_HostProtectionException>::Bind(pintf, false);
    return *this;
  }

  _HostProtectionExceptionDispT& operator=(_HostProtectionExceptionPtr pintf)
  {
    TAutoDriver<_HostProtectionException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HostProtectionException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HostProtectionException);
  }


};
typedef _HostProtectionExceptionDispT<_HostProtectionException> _HostProtectionExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_SecurityManager
// Interface: _SecurityManager
// *********************************************************************//
template <class T /* _SecurityManager */ >
class TCOM_SecurityManagerT : public TComInterface<_SecurityManager>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SecurityManagerT() {}
  TCOM_SecurityManagerT(_SecurityManager *intf, bool addRef = false) : TComInterface<_SecurityManager>(intf, addRef) {}
  TCOM_SecurityManagerT(const TCOM_SecurityManagerT& src) : TComInterface<_SecurityManager>(src) {}
  TCOM_SecurityManagerT& operator=(const TCOM_SecurityManagerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SecurityManagerT<_SecurityManager> TCOM_SecurityManager;

// *********************************************************************//
// DispIntf:  _SecurityManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ABC04B16-5539-3C7E-92EC-0905A4A24464}
// *********************************************************************//
template<class T>
class _SecurityManagerDispT : public TAutoDriver<_SecurityManager>
{
public:
  _SecurityManagerDispT(){}

  _SecurityManagerDispT(_SecurityManager *pintf)
  {
    TAutoDriver<_SecurityManager>::Bind(pintf, false);
  }

  _SecurityManagerDispT(_SecurityManagerPtr pintf)
  {
    TAutoDriver<_SecurityManager>::Bind(pintf, true);
  }

  _SecurityManagerDispT& operator=(_SecurityManager *pintf)
  {
    TAutoDriver<_SecurityManager>::Bind(pintf, false);
    return *this;
  }

  _SecurityManagerDispT& operator=(_SecurityManagerPtr pintf)
  {
    TAutoDriver<_SecurityManager>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SecurityManager));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SecurityManager);
  }


};
typedef _SecurityManagerDispT<_SecurityManager> _SecurityManagerDisp;

// *********************************************************************//
// SmartIntf: TCOM_VerificationException
// Interface: _VerificationException
// *********************************************************************//
template <class T /* _VerificationException */ >
class TCOM_VerificationExceptionT : public TComInterface<_VerificationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_VerificationExceptionT() {}
  TCOM_VerificationExceptionT(_VerificationException *intf, bool addRef = false) : TComInterface<_VerificationException>(intf, addRef) {}
  TCOM_VerificationExceptionT(const TCOM_VerificationExceptionT& src) : TComInterface<_VerificationException>(src) {}
  TCOM_VerificationExceptionT& operator=(const TCOM_VerificationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_VerificationExceptionT<_VerificationException> TCOM_VerificationException;

// *********************************************************************//
// DispIntf:  _VerificationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F65070DF-57AF-3AE3-B951-D2AD7D513347}
// *********************************************************************//
template<class T>
class _VerificationExceptionDispT : public TAutoDriver<_VerificationException>
{
public:
  _VerificationExceptionDispT(){}

  _VerificationExceptionDispT(_VerificationException *pintf)
  {
    TAutoDriver<_VerificationException>::Bind(pintf, false);
  }

  _VerificationExceptionDispT(_VerificationExceptionPtr pintf)
  {
    TAutoDriver<_VerificationException>::Bind(pintf, true);
  }

  _VerificationExceptionDispT& operator=(_VerificationException *pintf)
  {
    TAutoDriver<_VerificationException>::Bind(pintf, false);
    return *this;
  }

  _VerificationExceptionDispT& operator=(_VerificationExceptionPtr pintf)
  {
    TAutoDriver<_VerificationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_VerificationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_VerificationException);
  }


};
typedef _VerificationExceptionDispT<_VerificationException> _VerificationExceptionDisp;

typedef TComInterface<IContextAttribute>  TCOMIContextAttribute;

// *********************************************************************//
// DispIntf:  IContextAttribute
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4A68BAA3-27AA-314A-BDBB-6AE9BDFC0420}
// *********************************************************************//
template<class T>
class IContextAttributeDispT : public TAutoDriver<IContextAttribute>
{
public:
  IContextAttributeDispT(){}

  IContextAttributeDispT(IContextAttribute *pintf)
  {
    TAutoDriver<IContextAttribute>::Bind(pintf, false);
  }

  IContextAttributeDispT(IContextAttributePtr pintf)
  {
    TAutoDriver<IContextAttribute>::Bind(pintf, true);
  }

  IContextAttributeDispT& operator=(IContextAttribute *pintf)
  {
    TAutoDriver<IContextAttribute>::Bind(pintf, false);
    return *this;
  }

  IContextAttributeDispT& operator=(IContextAttributePtr pintf)
  {
    TAutoDriver<IContextAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall IsContextOK(Mscorlib_tlb::_ContextPtr ctx/*[in]*/, 
                                         Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                         TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsContextOK(Mscorlib_tlb::_ContextPtr ctx/*[in]*/, 
                                         Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/);
  HRESULT         __fastcall GetPropertiesForNewContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/);

};
typedef IContextAttributeDispT<IContextAttribute> IContextAttributeDisp;

typedef TComInterface<IContextProperty>  TCOMIContextProperty;

// *********************************************************************//
// DispIntf:  IContextProperty
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F01D896D-8D5F-3235-BE59-20E1E10DC22A}
// *********************************************************************//
template<class T>
class IContextPropertyDispT : public TAutoDriver<IContextProperty>
{
public:
  IContextPropertyDispT(){}

  IContextPropertyDispT(IContextProperty *pintf)
  {
    TAutoDriver<IContextProperty>::Bind(pintf, false);
  }

  IContextPropertyDispT(IContextPropertyPtr pintf)
  {
    TAutoDriver<IContextProperty>::Bind(pintf, true);
  }

  IContextPropertyDispT& operator=(IContextProperty *pintf)
  {
    TAutoDriver<IContextProperty>::Bind(pintf, false);
    return *this;
  }

  IContextPropertyDispT& operator=(IContextPropertyPtr pintf)
  {
    TAutoDriver<IContextProperty>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);
  HRESULT         __fastcall IsNewContextOK(Mscorlib_tlb::_ContextPtr newCtx/*[in]*/, 
                                            TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsNewContextOK(Mscorlib_tlb::_ContextPtr newCtx/*[in]*/);
  HRESULT         __fastcall Freeze(Mscorlib_tlb::_ContextPtr newContext/*[in]*/);

  __property   BSTR            name = {read = get_name};
};
typedef IContextPropertyDispT<IContextProperty> IContextPropertyDisp;

// *********************************************************************//
// SmartIntf: TCOM_ContextAttribute
// Interface: _ContextAttribute
// *********************************************************************//
template <class T /* _ContextAttribute */ >
class TCOM_ContextAttributeT : public TComInterface<_ContextAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ContextAttributeT() {}
  TCOM_ContextAttributeT(_ContextAttribute *intf, bool addRef = false) : TComInterface<_ContextAttribute>(intf, addRef) {}
  TCOM_ContextAttributeT(const TCOM_ContextAttributeT& src) : TComInterface<_ContextAttribute>(src) {}
  TCOM_ContextAttributeT& operator=(const TCOM_ContextAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ContextAttributeT<_ContextAttribute> TCOM_ContextAttribute;

// *********************************************************************//
// DispIntf:  _ContextAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F042505B-7AAC-313B-A8C7-3F1AC949C311}
// *********************************************************************//
template<class T>
class _ContextAttributeDispT : public TAutoDriver<_ContextAttribute>
{
public:
  _ContextAttributeDispT(){}

  _ContextAttributeDispT(_ContextAttribute *pintf)
  {
    TAutoDriver<_ContextAttribute>::Bind(pintf, false);
  }

  _ContextAttributeDispT(_ContextAttributePtr pintf)
  {
    TAutoDriver<_ContextAttribute>::Bind(pintf, true);
  }

  _ContextAttributeDispT& operator=(_ContextAttribute *pintf)
  {
    TAutoDriver<_ContextAttribute>::Bind(pintf, false);
    return *this;
  }

  _ContextAttributeDispT& operator=(_ContextAttributePtr pintf)
  {
    TAutoDriver<_ContextAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ContextAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ContextAttribute);
  }


};
typedef _ContextAttributeDispT<_ContextAttribute> _ContextAttributeDisp;

typedef TComInterface<IActivator>  TCOMIActivator;

// *********************************************************************//
// DispIntf:  IActivator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C02BBB79-5AA8-390D-927F-717B7BFF06A1}
// *********************************************************************//
template<class T>
class IActivatorDispT : public TAutoDriver<IActivator>
{
public:
  IActivatorDispT(){}

  IActivatorDispT(IActivator *pintf)
  {
    TAutoDriver<IActivator>::Bind(pintf, false);
  }

  IActivatorDispT(IActivatorPtr pintf)
  {
    TAutoDriver<IActivator>::Bind(pintf, true);
  }

  IActivatorDispT& operator=(IActivator *pintf)
  {
    TAutoDriver<IActivator>::Bind(pintf, false);
    return *this;
  }

  IActivatorDispT& operator=(IActivatorPtr pintf)
  {
    TAutoDriver<IActivator>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_NextActivator(Mscorlib_tlb::IActivatorPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IActivatorPtr __fastcall get_NextActivator(void);
  HRESULT         __fastcall _set_NextActivator(Mscorlib_tlb::IActivatorPtr pRetVal/*[in]*/);
  HRESULT         __fastcall Activate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                      Mscorlib_tlb::IConstructionReturnMessagePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IConstructionReturnMessagePtr __fastcall Activate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/);
  HRESULT         __fastcall get_level(Mscorlib_tlb::ActivatorLevel* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ActivatorLevel __fastcall get_level(void);

  __property   Mscorlib_tlb::IActivatorPtr NextActivator = {read = get_NextActivator, write = _set_NextActivator};
  __property   Mscorlib_tlb::ActivatorLevel level = {read = get_level};
};
typedef IActivatorDispT<IActivator> IActivatorDisp;

typedef TComInterface<IMessageSink>  TCOMIMessageSink;

// *********************************************************************//
// DispIntf:  IMessageSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {941F8AAA-A353-3B1D-A019-12E44377F1CD}
// *********************************************************************//
template<class T>
class IMessageSinkDispT : public TAutoDriver<IMessageSink>
{
public:
  IMessageSinkDispT(){}

  IMessageSinkDispT(IMessageSink *pintf)
  {
    TAutoDriver<IMessageSink>::Bind(pintf, false);
  }

  IMessageSinkDispT(IMessageSinkPtr pintf)
  {
    TAutoDriver<IMessageSink>::Bind(pintf, true);
  }

  IMessageSinkDispT& operator=(IMessageSink *pintf)
  {
    TAutoDriver<IMessageSink>::Bind(pintf, false);
    return *this;
  }

  IMessageSinkDispT& operator=(IMessageSinkPtr pintf)
  {
    TAutoDriver<IMessageSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall SyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                Mscorlib_tlb::IMessagePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessagePtr __fastcall SyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/);
  HRESULT         __fastcall AsyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                 Mscorlib_tlb::IMessageSinkPtr replySink/*[in]*/, 
                                                 Mscorlib_tlb::IMessageCtrlPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageCtrlPtr __fastcall AsyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                               Mscorlib_tlb::IMessageSinkPtr replySink/*[in]*/);
  HRESULT         __fastcall get_NextSink(Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageSinkPtr __fastcall get_NextSink(void);

  __property   Mscorlib_tlb::IMessageSinkPtr NextSink = {read = get_NextSink};
};
typedef IMessageSinkDispT<IMessageSink> IMessageSinkDisp;

// *********************************************************************//
// SmartIntf: TCOM_AsyncResult
// Interface: _AsyncResult
// *********************************************************************//
template <class T /* _AsyncResult */ >
class TCOM_AsyncResultT : public TComInterface<_AsyncResult>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AsyncResultT() {}
  TCOM_AsyncResultT(_AsyncResult *intf, bool addRef = false) : TComInterface<_AsyncResult>(intf, addRef) {}
  TCOM_AsyncResultT(const TCOM_AsyncResultT& src) : TComInterface<_AsyncResult>(src) {}
  TCOM_AsyncResultT& operator=(const TCOM_AsyncResultT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AsyncResultT<_AsyncResult> TCOM_AsyncResult;

// *********************************************************************//
// DispIntf:  _AsyncResult
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3936ABE1-B29E-3593-83F1-793D1A7F3898}
// *********************************************************************//
template<class T>
class _AsyncResultDispT : public TAutoDriver<_AsyncResult>
{
public:
  _AsyncResultDispT(){}

  _AsyncResultDispT(_AsyncResult *pintf)
  {
    TAutoDriver<_AsyncResult>::Bind(pintf, false);
  }

  _AsyncResultDispT(_AsyncResultPtr pintf)
  {
    TAutoDriver<_AsyncResult>::Bind(pintf, true);
  }

  _AsyncResultDispT& operator=(_AsyncResult *pintf)
  {
    TAutoDriver<_AsyncResult>::Bind(pintf, false);
    return *this;
  }

  _AsyncResultDispT& operator=(_AsyncResultPtr pintf)
  {
    TAutoDriver<_AsyncResult>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AsyncResult));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AsyncResult);
  }


};
typedef _AsyncResultDispT<_AsyncResult> _AsyncResultDisp;

// *********************************************************************//
// SmartIntf: TCOM_CallContext
// Interface: _CallContext
// *********************************************************************//
template <class T /* _CallContext */ >
class TCOM_CallContextT : public TComInterface<_CallContext>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CallContextT() {}
  TCOM_CallContextT(_CallContext *intf, bool addRef = false) : TComInterface<_CallContext>(intf, addRef) {}
  TCOM_CallContextT(const TCOM_CallContextT& src) : TComInterface<_CallContext>(src) {}
  TCOM_CallContextT& operator=(const TCOM_CallContextT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CallContextT<_CallContext> TCOM_CallContext;

// *********************************************************************//
// DispIntf:  _CallContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {53BCE4D4-6209-396D-BD4A-0B0A0A177DF9}
// *********************************************************************//
template<class T>
class _CallContextDispT : public TAutoDriver<_CallContext>
{
public:
  _CallContextDispT(){}

  _CallContextDispT(_CallContext *pintf)
  {
    TAutoDriver<_CallContext>::Bind(pintf, false);
  }

  _CallContextDispT(_CallContextPtr pintf)
  {
    TAutoDriver<_CallContext>::Bind(pintf, true);
  }

  _CallContextDispT& operator=(_CallContext *pintf)
  {
    TAutoDriver<_CallContext>::Bind(pintf, false);
    return *this;
  }

  _CallContextDispT& operator=(_CallContextPtr pintf)
  {
    TAutoDriver<_CallContext>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CallContext));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CallContext);
  }


};
typedef _CallContextDispT<_CallContext> _CallContextDisp;

typedef TComInterface<ILogicalThreadAffinative>  TCOMILogicalThreadAffinative;

// *********************************************************************//
// DispIntf:  ILogicalThreadAffinative
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4D125449-BA27-3927-8589-3E1B34B622E5}
// *********************************************************************//
template<class T>
class ILogicalThreadAffinativeDispT : public TAutoDriver<ILogicalThreadAffinative>
{
public:
  ILogicalThreadAffinativeDispT(){}

  ILogicalThreadAffinativeDispT(ILogicalThreadAffinative *pintf)
  {
    TAutoDriver<ILogicalThreadAffinative>::Bind(pintf, false);
  }

  ILogicalThreadAffinativeDispT(ILogicalThreadAffinativePtr pintf)
  {
    TAutoDriver<ILogicalThreadAffinative>::Bind(pintf, true);
  }

  ILogicalThreadAffinativeDispT& operator=(ILogicalThreadAffinative *pintf)
  {
    TAutoDriver<ILogicalThreadAffinative>::Bind(pintf, false);
    return *this;
  }

  ILogicalThreadAffinativeDispT& operator=(ILogicalThreadAffinativePtr pintf)
  {
    TAutoDriver<ILogicalThreadAffinative>::Bind(pintf, true);
    return *this;
  }


};
typedef ILogicalThreadAffinativeDispT<ILogicalThreadAffinative> ILogicalThreadAffinativeDisp;

// *********************************************************************//
// SmartIntf: TCOM_LogicalCallContext
// Interface: _LogicalCallContext
// *********************************************************************//
template <class T /* _LogicalCallContext */ >
class TCOM_LogicalCallContextT : public TComInterface<_LogicalCallContext>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LogicalCallContextT() {}
  TCOM_LogicalCallContextT(_LogicalCallContext *intf, bool addRef = false) : TComInterface<_LogicalCallContext>(intf, addRef) {}
  TCOM_LogicalCallContextT(const TCOM_LogicalCallContextT& src) : TComInterface<_LogicalCallContext>(src) {}
  TCOM_LogicalCallContextT& operator=(const TCOM_LogicalCallContextT& src) { Bind(src, true); return *this;}


};
typedef TCOM_LogicalCallContextT<_LogicalCallContext> TCOM_LogicalCallContext;

// *********************************************************************//
// DispIntf:  _LogicalCallContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9AFF21F5-1C9C-35E7-AEA4-C3AA0BEB3B77}
// *********************************************************************//
template<class T>
class _LogicalCallContextDispT : public TAutoDriver<_LogicalCallContext>
{
public:
  _LogicalCallContextDispT(){}

  _LogicalCallContextDispT(_LogicalCallContext *pintf)
  {
    TAutoDriver<_LogicalCallContext>::Bind(pintf, false);
  }

  _LogicalCallContextDispT(_LogicalCallContextPtr pintf)
  {
    TAutoDriver<_LogicalCallContext>::Bind(pintf, true);
  }

  _LogicalCallContextDispT& operator=(_LogicalCallContext *pintf)
  {
    TAutoDriver<_LogicalCallContext>::Bind(pintf, false);
    return *this;
  }

  _LogicalCallContextDispT& operator=(_LogicalCallContextPtr pintf)
  {
    TAutoDriver<_LogicalCallContext>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_LogicalCallContext));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_LogicalCallContext);
  }


};
typedef _LogicalCallContextDispT<_LogicalCallContext> _LogicalCallContextDisp;

// *********************************************************************//
// SmartIntf: TCOM_ChannelServices
// Interface: _ChannelServices
// *********************************************************************//
template <class T /* _ChannelServices */ >
class TCOM_ChannelServicesT : public TComInterface<_ChannelServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ChannelServicesT() {}
  TCOM_ChannelServicesT(_ChannelServices *intf, bool addRef = false) : TComInterface<_ChannelServices>(intf, addRef) {}
  TCOM_ChannelServicesT(const TCOM_ChannelServicesT& src) : TComInterface<_ChannelServices>(src) {}
  TCOM_ChannelServicesT& operator=(const TCOM_ChannelServicesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ChannelServicesT<_ChannelServices> TCOM_ChannelServices;

// *********************************************************************//
// DispIntf:  _ChannelServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FFB2E16E-E5C7-367C-B326-965ABF510F24}
// *********************************************************************//
template<class T>
class _ChannelServicesDispT : public TAutoDriver<_ChannelServices>
{
public:
  _ChannelServicesDispT(){}

  _ChannelServicesDispT(_ChannelServices *pintf)
  {
    TAutoDriver<_ChannelServices>::Bind(pintf, false);
  }

  _ChannelServicesDispT(_ChannelServicesPtr pintf)
  {
    TAutoDriver<_ChannelServices>::Bind(pintf, true);
  }

  _ChannelServicesDispT& operator=(_ChannelServices *pintf)
  {
    TAutoDriver<_ChannelServices>::Bind(pintf, false);
    return *this;
  }

  _ChannelServicesDispT& operator=(_ChannelServicesPtr pintf)
  {
    TAutoDriver<_ChannelServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ChannelServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ChannelServices);
  }


};
typedef _ChannelServicesDispT<_ChannelServices> _ChannelServicesDisp;

typedef TComInterface<IClientResponseChannelSinkStack>  TCOMIClientResponseChannelSinkStack;

// *********************************************************************//
// DispIntf:  IClientResponseChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3AFAB213-F5A2-3241-93BA-329EA4BA8016}
// *********************************************************************//
template<class T>
class IClientResponseChannelSinkStackDispT : public TAutoDriver<IClientResponseChannelSinkStack>
{
public:
  IClientResponseChannelSinkStackDispT(){}

  IClientResponseChannelSinkStackDispT(IClientResponseChannelSinkStack *pintf)
  {
    TAutoDriver<IClientResponseChannelSinkStack>::Bind(pintf, false);
  }

  IClientResponseChannelSinkStackDispT(IClientResponseChannelSinkStackPtr pintf)
  {
    TAutoDriver<IClientResponseChannelSinkStack>::Bind(pintf, true);
  }

  IClientResponseChannelSinkStackDispT& operator=(IClientResponseChannelSinkStack *pintf)
  {
    TAutoDriver<IClientResponseChannelSinkStack>::Bind(pintf, false);
    return *this;
  }

  IClientResponseChannelSinkStackDispT& operator=(IClientResponseChannelSinkStackPtr pintf)
  {
    TAutoDriver<IClientResponseChannelSinkStack>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall AsyncProcessResponse(Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                  , Mscorlib_tlb::_StreamPtr Stream/*[in]*/);
  HRESULT         __fastcall DispatchReplyMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/);
  HRESULT         __fastcall DispatchException(Mscorlib_tlb::_ExceptionPtr e/*[in]*/);

};
typedef IClientResponseChannelSinkStackDispT<IClientResponseChannelSinkStack> IClientResponseChannelSinkStackDisp;

typedef TComInterface<IClientChannelSinkStack>  TCOMIClientChannelSinkStack;

// *********************************************************************//
// DispIntf:  IClientChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3A5FDE6B-DB46-34E8-BACD-16EA5A440540}
// *********************************************************************//
template<class T>
class IClientChannelSinkStackDispT : public TAutoDriver<IClientChannelSinkStack>
{
public:
  IClientChannelSinkStackDispT(){}

  IClientChannelSinkStackDispT(IClientChannelSinkStack *pintf)
  {
    TAutoDriver<IClientChannelSinkStack>::Bind(pintf, false);
  }

  IClientChannelSinkStackDispT(IClientChannelSinkStackPtr pintf)
  {
    TAutoDriver<IClientChannelSinkStack>::Bind(pintf, true);
  }

  IClientChannelSinkStackDispT& operator=(IClientChannelSinkStack *pintf)
  {
    TAutoDriver<IClientChannelSinkStack>::Bind(pintf, false);
    return *this;
  }

  IClientChannelSinkStackDispT& operator=(IClientChannelSinkStackPtr pintf)
  {
    TAutoDriver<IClientChannelSinkStack>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Push(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/, 
                                  TVariantInParam state/*[in]*/);
  HRESULT         __fastcall Pop(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/, 
                                 TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Pop(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/);

};
typedef IClientChannelSinkStackDispT<IClientChannelSinkStack> IClientChannelSinkStackDisp;

// *********************************************************************//
// SmartIntf: TCOM_ClientChannelSinkStack
// Interface: _ClientChannelSinkStack
// *********************************************************************//
template <class T /* _ClientChannelSinkStack */ >
class TCOM_ClientChannelSinkStackT : public TComInterface<_ClientChannelSinkStack>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ClientChannelSinkStackT() {}
  TCOM_ClientChannelSinkStackT(_ClientChannelSinkStack *intf, bool addRef = false) : TComInterface<_ClientChannelSinkStack>(intf, addRef) {}
  TCOM_ClientChannelSinkStackT(const TCOM_ClientChannelSinkStackT& src) : TComInterface<_ClientChannelSinkStack>(src) {}
  TCOM_ClientChannelSinkStackT& operator=(const TCOM_ClientChannelSinkStackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ClientChannelSinkStackT<_ClientChannelSinkStack> TCOM_ClientChannelSinkStack;

// *********************************************************************//
// DispIntf:  _ClientChannelSinkStack
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E1796120-C324-30D8-86F4-20086711463B}
// *********************************************************************//
template<class T>
class _ClientChannelSinkStackDispT : public TAutoDriver<_ClientChannelSinkStack>
{
public:
  _ClientChannelSinkStackDispT(){}

  _ClientChannelSinkStackDispT(_ClientChannelSinkStack *pintf)
  {
    TAutoDriver<_ClientChannelSinkStack>::Bind(pintf, false);
  }

  _ClientChannelSinkStackDispT(_ClientChannelSinkStackPtr pintf)
  {
    TAutoDriver<_ClientChannelSinkStack>::Bind(pintf, true);
  }

  _ClientChannelSinkStackDispT& operator=(_ClientChannelSinkStack *pintf)
  {
    TAutoDriver<_ClientChannelSinkStack>::Bind(pintf, false);
    return *this;
  }

  _ClientChannelSinkStackDispT& operator=(_ClientChannelSinkStackPtr pintf)
  {
    TAutoDriver<_ClientChannelSinkStack>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ClientChannelSinkStack));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ClientChannelSinkStack);
  }


};
typedef _ClientChannelSinkStackDispT<_ClientChannelSinkStack> _ClientChannelSinkStackDisp;

typedef TComInterface<IServerResponseChannelSinkStack>  TCOMIServerResponseChannelSinkStack;

// *********************************************************************//
// DispIntf:  IServerResponseChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {9BE679A6-61FD-38FC-A7B2-89982D33338B}
// *********************************************************************//
template<class T>
class IServerResponseChannelSinkStackDispT : public TAutoDriver<IServerResponseChannelSinkStack>
{
public:
  IServerResponseChannelSinkStackDispT(){}

  IServerResponseChannelSinkStackDispT(IServerResponseChannelSinkStack *pintf)
  {
    TAutoDriver<IServerResponseChannelSinkStack>::Bind(pintf, false);
  }

  IServerResponseChannelSinkStackDispT(IServerResponseChannelSinkStackPtr pintf)
  {
    TAutoDriver<IServerResponseChannelSinkStack>::Bind(pintf, true);
  }

  IServerResponseChannelSinkStackDispT& operator=(IServerResponseChannelSinkStack *pintf)
  {
    TAutoDriver<IServerResponseChannelSinkStack>::Bind(pintf, false);
    return *this;
  }

  IServerResponseChannelSinkStackDispT& operator=(IServerResponseChannelSinkStackPtr pintf)
  {
    TAutoDriver<IServerResponseChannelSinkStack>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall AsyncProcessResponse(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                  Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                  , Mscorlib_tlb::_StreamPtr Stream/*[in]*/);
  HRESULT         __fastcall GetResponseStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                               Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                               Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_StreamPtr __fastcall GetResponseStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                        Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/);

};
typedef IServerResponseChannelSinkStackDispT<IServerResponseChannelSinkStack> IServerResponseChannelSinkStackDisp;

typedef TComInterface<IServerChannelSinkStack>  TCOMIServerChannelSinkStack;

// *********************************************************************//
// DispIntf:  IServerChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E694A733-768D-314D-B317-DCEAD136B11D}
// *********************************************************************//
template<class T>
class IServerChannelSinkStackDispT : public TAutoDriver<IServerChannelSinkStack>
{
public:
  IServerChannelSinkStackDispT(){}

  IServerChannelSinkStackDispT(IServerChannelSinkStack *pintf)
  {
    TAutoDriver<IServerChannelSinkStack>::Bind(pintf, false);
  }

  IServerChannelSinkStackDispT(IServerChannelSinkStackPtr pintf)
  {
    TAutoDriver<IServerChannelSinkStack>::Bind(pintf, true);
  }

  IServerChannelSinkStackDispT& operator=(IServerChannelSinkStack *pintf)
  {
    TAutoDriver<IServerChannelSinkStack>::Bind(pintf, false);
    return *this;
  }

  IServerChannelSinkStackDispT& operator=(IServerChannelSinkStackPtr pintf)
  {
    TAutoDriver<IServerChannelSinkStack>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Push(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                  TVariantInParam state/*[in]*/);
  HRESULT         __fastcall Pop(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                 TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Pop(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/);
  HRESULT         __fastcall Store(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                   TVariantInParam state/*[in]*/);
  HRESULT         __fastcall StoreAndDispatch(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                              TVariantInParam state/*[in]*/);
  HRESULT         __fastcall ServerCallback(Mscorlib_tlb::IAsyncResultPtr ar/*[in]*/);

};
typedef IServerChannelSinkStackDispT<IServerChannelSinkStack> IServerChannelSinkStackDisp;

// *********************************************************************//
// SmartIntf: TCOM_ServerChannelSinkStack
// Interface: _ServerChannelSinkStack
// *********************************************************************//
template <class T /* _ServerChannelSinkStack */ >
class TCOM_ServerChannelSinkStackT : public TComInterface<_ServerChannelSinkStack>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ServerChannelSinkStackT() {}
  TCOM_ServerChannelSinkStackT(_ServerChannelSinkStack *intf, bool addRef = false) : TComInterface<_ServerChannelSinkStack>(intf, addRef) {}
  TCOM_ServerChannelSinkStackT(const TCOM_ServerChannelSinkStackT& src) : TComInterface<_ServerChannelSinkStack>(src) {}
  TCOM_ServerChannelSinkStackT& operator=(const TCOM_ServerChannelSinkStackT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ServerChannelSinkStackT<_ServerChannelSinkStack> TCOM_ServerChannelSinkStack;

// *********************************************************************//
// DispIntf:  _ServerChannelSinkStack
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {52DA9F90-89B3-35AB-907B-3562642967DE}
// *********************************************************************//
template<class T>
class _ServerChannelSinkStackDispT : public TAutoDriver<_ServerChannelSinkStack>
{
public:
  _ServerChannelSinkStackDispT(){}

  _ServerChannelSinkStackDispT(_ServerChannelSinkStack *pintf)
  {
    TAutoDriver<_ServerChannelSinkStack>::Bind(pintf, false);
  }

  _ServerChannelSinkStackDispT(_ServerChannelSinkStackPtr pintf)
  {
    TAutoDriver<_ServerChannelSinkStack>::Bind(pintf, true);
  }

  _ServerChannelSinkStackDispT& operator=(_ServerChannelSinkStack *pintf)
  {
    TAutoDriver<_ServerChannelSinkStack>::Bind(pintf, false);
    return *this;
  }

  _ServerChannelSinkStackDispT& operator=(_ServerChannelSinkStackPtr pintf)
  {
    TAutoDriver<_ServerChannelSinkStack>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ServerChannelSinkStack));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ServerChannelSinkStack);
  }


};
typedef _ServerChannelSinkStackDispT<_ServerChannelSinkStack> _ServerChannelSinkStackDisp;

typedef TComInterface<ISponsor>  TCOMISponsor;

// *********************************************************************//
// DispIntf:  ISponsor
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {675591AF-0508-3131-A7CC-287D265CA7D6}
// *********************************************************************//
template<class T>
class ISponsorDispT : public TAutoDriver<ISponsor>
{
public:
  ISponsorDispT(){}

  ISponsorDispT(ISponsor *pintf)
  {
    TAutoDriver<ISponsor>::Bind(pintf, false);
  }

  ISponsorDispT(ISponsorPtr pintf)
  {
    TAutoDriver<ISponsor>::Bind(pintf, true);
  }

  ISponsorDispT& operator=(ISponsor *pintf)
  {
    TAutoDriver<ISponsor>::Bind(pintf, false);
    return *this;
  }

  ISponsorDispT& operator=(ISponsorPtr pintf)
  {
    TAutoDriver<ISponsor>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Renewal(Mscorlib_tlb::ILeasePtr lease/*[in]*/, 
                                     /*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal);

};
typedef ISponsorDispT<ISponsor> ISponsorDisp;

// *********************************************************************//
// SmartIntf: TCOM_ClientSponsor
// Interface: _ClientSponsor
// *********************************************************************//
template <class T /* _ClientSponsor */ >
class TCOM_ClientSponsorT : public TComInterface<_ClientSponsor>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ClientSponsorT() {}
  TCOM_ClientSponsorT(_ClientSponsor *intf, bool addRef = false) : TComInterface<_ClientSponsor>(intf, addRef) {}
  TCOM_ClientSponsorT(const TCOM_ClientSponsorT& src) : TComInterface<_ClientSponsor>(src) {}
  TCOM_ClientSponsorT& operator=(const TCOM_ClientSponsorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ClientSponsorT<_ClientSponsor> TCOM_ClientSponsor;

// *********************************************************************//
// DispIntf:  _ClientSponsor
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FF19D114-3BDA-30AC-8E89-36CA64A87120}
// *********************************************************************//
template<class T>
class _ClientSponsorDispT : public TAutoDriver<_ClientSponsor>
{
public:
  _ClientSponsorDispT(){}

  _ClientSponsorDispT(_ClientSponsor *pintf)
  {
    TAutoDriver<_ClientSponsor>::Bind(pintf, false);
  }

  _ClientSponsorDispT(_ClientSponsorPtr pintf)
  {
    TAutoDriver<_ClientSponsor>::Bind(pintf, true);
  }

  _ClientSponsorDispT& operator=(_ClientSponsor *pintf)
  {
    TAutoDriver<_ClientSponsor>::Bind(pintf, false);
    return *this;
  }

  _ClientSponsorDispT& operator=(_ClientSponsorPtr pintf)
  {
    TAutoDriver<_ClientSponsor>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ClientSponsor));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ClientSponsor);
  }


};
typedef _ClientSponsorDispT<_ClientSponsor> _ClientSponsorDisp;

// *********************************************************************//
// SmartIntf: TCOM_CrossContextDelegate
// Interface: _CrossContextDelegate
// *********************************************************************//
template <class T /* _CrossContextDelegate */ >
class TCOM_CrossContextDelegateT : public TComInterface<_CrossContextDelegate>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CrossContextDelegateT() {}
  TCOM_CrossContextDelegateT(_CrossContextDelegate *intf, bool addRef = false) : TComInterface<_CrossContextDelegate>(intf, addRef) {}
  TCOM_CrossContextDelegateT(const TCOM_CrossContextDelegateT& src) : TComInterface<_CrossContextDelegate>(src) {}
  TCOM_CrossContextDelegateT& operator=(const TCOM_CrossContextDelegateT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CrossContextDelegateT<_CrossContextDelegate> TCOM_CrossContextDelegate;

// *********************************************************************//
// DispIntf:  _CrossContextDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EE949B7B-439F-363E-B9FC-34DB1FB781D7}
// *********************************************************************//
template<class T>
class _CrossContextDelegateDispT : public TAutoDriver<_CrossContextDelegate>
{
public:
  _CrossContextDelegateDispT(){}

  _CrossContextDelegateDispT(_CrossContextDelegate *pintf)
  {
    TAutoDriver<_CrossContextDelegate>::Bind(pintf, false);
  }

  _CrossContextDelegateDispT(_CrossContextDelegatePtr pintf)
  {
    TAutoDriver<_CrossContextDelegate>::Bind(pintf, true);
  }

  _CrossContextDelegateDispT& operator=(_CrossContextDelegate *pintf)
  {
    TAutoDriver<_CrossContextDelegate>::Bind(pintf, false);
    return *this;
  }

  _CrossContextDelegateDispT& operator=(_CrossContextDelegatePtr pintf)
  {
    TAutoDriver<_CrossContextDelegate>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CrossContextDelegate));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CrossContextDelegate);
  }


};
typedef _CrossContextDelegateDispT<_CrossContextDelegate> _CrossContextDelegateDisp;

// *********************************************************************//
// SmartIntf: TCOM_Context
// Interface: _Context
// *********************************************************************//
template <class T /* _Context */ >
class TCOM_ContextT : public TComInterface<_Context>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ContextT() {}
  TCOM_ContextT(_Context *intf, bool addRef = false) : TComInterface<_Context>(intf, addRef) {}
  TCOM_ContextT(const TCOM_ContextT& src) : TComInterface<_Context>(src) {}
  TCOM_ContextT& operator=(const TCOM_ContextT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ContextT<_Context> TCOM_Context;

// *********************************************************************//
// DispIntf:  _Context
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {11A2EA7A-D600-307B-A606-511A6C7950D1}
// *********************************************************************//
template<class T>
class _ContextDispT : public TAutoDriver<_Context>
{
public:
  _ContextDispT(){}

  _ContextDispT(_Context *pintf)
  {
    TAutoDriver<_Context>::Bind(pintf, false);
  }

  _ContextDispT(_ContextPtr pintf)
  {
    TAutoDriver<_Context>::Bind(pintf, true);
  }

  _ContextDispT& operator=(_Context *pintf)
  {
    TAutoDriver<_Context>::Bind(pintf, false);
    return *this;
  }

  _ContextDispT& operator=(_ContextPtr pintf)
  {
    TAutoDriver<_Context>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Context));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Context);
  }


};
typedef _ContextDispT<_Context> _ContextDisp;

// *********************************************************************//
// SmartIntf: TCOM_ContextProperty
// Interface: _ContextProperty
// *********************************************************************//
template <class T /* _ContextProperty */ >
class TCOM_ContextPropertyT : public TComInterface<_ContextProperty>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ContextPropertyT() {}
  TCOM_ContextPropertyT(_ContextProperty *intf, bool addRef = false) : TComInterface<_ContextProperty>(intf, addRef) {}
  TCOM_ContextPropertyT(const TCOM_ContextPropertyT& src) : TComInterface<_ContextProperty>(src) {}
  TCOM_ContextPropertyT& operator=(const TCOM_ContextPropertyT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ContextPropertyT<_ContextProperty> TCOM_ContextProperty;

// *********************************************************************//
// DispIntf:  _ContextProperty
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4ACB3495-05DB-381B-890A-D12F5340DCA3}
// *********************************************************************//
template<class T>
class _ContextPropertyDispT : public TAutoDriver<_ContextProperty>
{
public:
  _ContextPropertyDispT(){}

  _ContextPropertyDispT(_ContextProperty *pintf)
  {
    TAutoDriver<_ContextProperty>::Bind(pintf, false);
  }

  _ContextPropertyDispT(_ContextPropertyPtr pintf)
  {
    TAutoDriver<_ContextProperty>::Bind(pintf, true);
  }

  _ContextPropertyDispT& operator=(_ContextProperty *pintf)
  {
    TAutoDriver<_ContextProperty>::Bind(pintf, false);
    return *this;
  }

  _ContextPropertyDispT& operator=(_ContextPropertyPtr pintf)
  {
    TAutoDriver<_ContextProperty>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ContextProperty));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ContextProperty);
  }


};
typedef _ContextPropertyDispT<_ContextProperty> _ContextPropertyDisp;

typedef TComInterface<IContextPropertyActivator>  TCOMIContextPropertyActivator;

// *********************************************************************//
// DispIntf:  IContextPropertyActivator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7197B56B-5FA1-31EF-B38B-62FEE737277F}
// *********************************************************************//
template<class T>
class IContextPropertyActivatorDispT : public TAutoDriver<IContextPropertyActivator>
{
public:
  IContextPropertyActivatorDispT(){}

  IContextPropertyActivatorDispT(IContextPropertyActivator *pintf)
  {
    TAutoDriver<IContextPropertyActivator>::Bind(pintf, false);
  }

  IContextPropertyActivatorDispT(IContextPropertyActivatorPtr pintf)
  {
    TAutoDriver<IContextPropertyActivator>::Bind(pintf, true);
  }

  IContextPropertyActivatorDispT& operator=(IContextPropertyActivator *pintf)
  {
    TAutoDriver<IContextPropertyActivator>::Bind(pintf, false);
    return *this;
  }

  IContextPropertyActivatorDispT& operator=(IContextPropertyActivatorPtr pintf)
  {
    TAutoDriver<IContextPropertyActivator>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall IsOKToActivate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                            TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall IsOKToActivate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/);
  HRESULT         __fastcall CollectFromClientContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/);
  HRESULT         __fastcall DeliverClientContextToServerContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/
                                                                 , TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall DeliverClientContextToServerContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/);
  HRESULT         __fastcall CollectFromServerContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/);
  HRESULT         __fastcall DeliverServerContextToClientContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/
                                                                 , TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall DeliverServerContextToClientContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/);

};
typedef IContextPropertyActivatorDispT<IContextPropertyActivator> IContextPropertyActivatorDisp;

typedef TComInterface<IChannel>  TCOMIChannel;

// *********************************************************************//
// DispIntf:  IChannel
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {563581E8-C86D-39E2-B2E8-6C23F7987A4B}
// *********************************************************************//
template<class T>
class IChannelDispT : public TAutoDriver<IChannel>
{
public:
  IChannelDispT(){}

  IChannelDispT(IChannel *pintf)
  {
    TAutoDriver<IChannel>::Bind(pintf, false);
  }

  IChannelDispT(IChannelPtr pintf)
  {
    TAutoDriver<IChannel>::Bind(pintf, true);
  }

  IChannelDispT& operator=(IChannel *pintf)
  {
    TAutoDriver<IChannel>::Bind(pintf, false);
    return *this;
  }

  IChannelDispT& operator=(IChannelPtr pintf)
  {
    TAutoDriver<IChannel>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ChannelPriority(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_ChannelPriority(void);
  HRESULT         __fastcall get_ChannelName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ChannelName(void);
  HRESULT         __fastcall Parse(BSTR Url/*[in]*/, BSTR* objectURI/*[out]*/, 
                                   BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall Parse(BSTR Url/*[in]*/, BSTR* objectURI/*[out]*/);

  __property   long            ChannelPriority = {read = get_ChannelPriority};
  __property   BSTR            ChannelName = {read = get_ChannelName};
};
typedef IChannelDispT<IChannel> IChannelDisp;

typedef TComInterface<IChannelSender>  TCOMIChannelSender;

// *********************************************************************//
// DispIntf:  IChannelSender
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {10F1D605-E201-3145-B7AE-3AD746701986}
// *********************************************************************//
template<class T>
class IChannelSenderDispT : public TAutoDriver<IChannelSender>
{
public:
  IChannelSenderDispT(){}

  IChannelSenderDispT(IChannelSender *pintf)
  {
    TAutoDriver<IChannelSender>::Bind(pintf, false);
  }

  IChannelSenderDispT(IChannelSenderPtr pintf)
  {
    TAutoDriver<IChannelSender>::Bind(pintf, true);
  }

  IChannelSenderDispT& operator=(IChannelSender *pintf)
  {
    TAutoDriver<IChannelSender>::Bind(pintf, false);
    return *this;
  }

  IChannelSenderDispT& operator=(IChannelSenderPtr pintf)
  {
    TAutoDriver<IChannelSender>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall CreateMessageSink(BSTR Url/*[in]*/, 
                                               TVariantInParam remoteChannelData/*[in]*/, 
                                               BSTR* objectURI/*[out]*/, 
                                               Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageSinkPtr __fastcall CreateMessageSink(BSTR Url/*[in]*/, 
                                                             TVariantInParam remoteChannelData/*[in]*/, 
                                                             BSTR* objectURI/*[out]*/);

};
typedef IChannelSenderDispT<IChannelSender> IChannelSenderDisp;

typedef TComInterface<IChannelReceiver>  TCOMIChannelReceiver;

// *********************************************************************//
// DispIntf:  IChannelReceiver
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {48AD41DA-0872-31DA-9887-F81F213527E6}
// *********************************************************************//
template<class T>
class IChannelReceiverDispT : public TAutoDriver<IChannelReceiver>
{
public:
  IChannelReceiverDispT(){}

  IChannelReceiverDispT(IChannelReceiver *pintf)
  {
    TAutoDriver<IChannelReceiver>::Bind(pintf, false);
  }

  IChannelReceiverDispT(IChannelReceiverPtr pintf)
  {
    TAutoDriver<IChannelReceiver>::Bind(pintf, true);
  }

  IChannelReceiverDispT& operator=(IChannelReceiver *pintf)
  {
    TAutoDriver<IChannelReceiver>::Bind(pintf, false);
    return *this;
  }

  IChannelReceiverDispT& operator=(IChannelReceiverPtr pintf)
  {
    TAutoDriver<IChannelReceiver>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ChannelData(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_ChannelData(void);
  HRESULT         __fastcall GetUrlsForUri(BSTR objectURI/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall GetUrlsForUri(BSTR objectURI/*[in]*/);
  HRESULT         __fastcall StartListening(TVariantInParam data/*[in]*/);
  HRESULT         __fastcall StopListening(TVariantInParam data/*[in]*/);

};
typedef IChannelReceiverDispT<IChannelReceiver> IChannelReceiverDisp;

typedef TComInterface<IServerChannelSinkProvider>  TCOMIServerChannelSinkProvider;

// *********************************************************************//
// DispIntf:  IServerChannelSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7DD6E975-24EA-323C-A98C-0FDE96F9C4E6}
// *********************************************************************//
template<class T>
class IServerChannelSinkProviderDispT : public TAutoDriver<IServerChannelSinkProvider>
{
public:
  IServerChannelSinkProviderDispT(){}

  IServerChannelSinkProviderDispT(IServerChannelSinkProvider *pintf)
  {
    TAutoDriver<IServerChannelSinkProvider>::Bind(pintf, false);
  }

  IServerChannelSinkProviderDispT(IServerChannelSinkProviderPtr pintf)
  {
    TAutoDriver<IServerChannelSinkProvider>::Bind(pintf, true);
  }

  IServerChannelSinkProviderDispT& operator=(IServerChannelSinkProvider *pintf)
  {
    TAutoDriver<IServerChannelSinkProvider>::Bind(pintf, false);
    return *this;
  }

  IServerChannelSinkProviderDispT& operator=(IServerChannelSinkProviderPtr pintf)
  {
    TAutoDriver<IServerChannelSinkProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetChannelData(Mscorlib_tlb::IChannelDataStorePtr ChannelData/*[in]*/);
  HRESULT         __fastcall CreateSink(Mscorlib_tlb::IChannelReceiverPtr channel/*[in]*/, 
                                        Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IServerChannelSinkPtr __fastcall CreateSink(Mscorlib_tlb::IChannelReceiverPtr channel/*[in]*/);
  HRESULT         __fastcall get_Next(Mscorlib_tlb::IServerChannelSinkProviderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IServerChannelSinkProviderPtr __fastcall get_Next(void);
  HRESULT         __fastcall _set_Next(Mscorlib_tlb::IServerChannelSinkProviderPtr pRetVal/*[in]*/);

  __property   Mscorlib_tlb::IServerChannelSinkProviderPtr Next = {read = get_Next, write = _set_Next};
};
typedef IServerChannelSinkProviderDispT<IServerChannelSinkProvider> IServerChannelSinkProviderDisp;

typedef TComInterface<IChannelSinkBase>  TCOMIChannelSinkBase;

// *********************************************************************//
// DispIntf:  IChannelSinkBase
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {308DE042-ACC8-32F8-B632-7CB9799D9AA6}
// *********************************************************************//
template<class T>
class IChannelSinkBaseDispT : public TAutoDriver<IChannelSinkBase>
{
public:
  IChannelSinkBaseDispT(){}

  IChannelSinkBaseDispT(IChannelSinkBase *pintf)
  {
    TAutoDriver<IChannelSinkBase>::Bind(pintf, false);
  }

  IChannelSinkBaseDispT(IChannelSinkBasePtr pintf)
  {
    TAutoDriver<IChannelSinkBase>::Bind(pintf, true);
  }

  IChannelSinkBaseDispT& operator=(IChannelSinkBase *pintf)
  {
    TAutoDriver<IChannelSinkBase>::Bind(pintf, false);
    return *this;
  }

  IChannelSinkBaseDispT& operator=(IChannelSinkBasePtr pintf)
  {
    TAutoDriver<IChannelSinkBase>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Properties(Mscorlib_tlb::IDictionaryPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IDictionaryPtr __fastcall get_Properties(void);

  __property   Mscorlib_tlb::IDictionaryPtr Properties = {read = get_Properties};
};
typedef IChannelSinkBaseDispT<IChannelSinkBase> IChannelSinkBaseDisp;

typedef TComInterface<IServerChannelSink>  TCOMIServerChannelSink;

// *********************************************************************//
// DispIntf:  IServerChannelSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {21B5F37B-BEF3-354C-8F84-0F9F0863F5C5}
// *********************************************************************//
template<class T>
class IServerChannelSinkDispT : public TAutoDriver<IServerChannelSink>
{
public:
  IServerChannelSinkDispT(){}

  IServerChannelSinkDispT(IServerChannelSink *pintf)
  {
    TAutoDriver<IServerChannelSink>::Bind(pintf, false);
  }

  IServerChannelSinkDispT(IServerChannelSinkPtr pintf)
  {
    TAutoDriver<IServerChannelSink>::Bind(pintf, true);
  }

  IServerChannelSinkDispT& operator=(IServerChannelSink *pintf)
  {
    TAutoDriver<IServerChannelSink>::Bind(pintf, false);
    return *this;
  }

  IServerChannelSinkDispT& operator=(IServerChannelSinkPtr pintf)
  {
    TAutoDriver<IServerChannelSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall ProcessMessage(Mscorlib_tlb::IServerChannelSinkStackPtr sinkStack/*[in]*/
                                            , Mscorlib_tlb::IMessagePtr requestMsg/*[in]*/, 
                                            Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/
                                            , Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                            Mscorlib_tlb::IMessagePtr* responseMsg/*[out]*/, 
                                            Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/
                                            , Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/, 
                                            Mscorlib_tlb::ServerProcessing* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::ServerProcessing __fastcall ProcessMessage(Mscorlib_tlb::IServerChannelSinkStackPtr sinkStack/*[in]*/, 
                                                           Mscorlib_tlb::IMessagePtr requestMsg/*[in]*/, 
                                                           Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/, 
                                                           Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                                           Mscorlib_tlb::IMessagePtr* responseMsg/*[out]*/, 
                                                           Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/, 
                                                           Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/);
  HRESULT         __fastcall AsyncProcessResponse(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/
                                                  , TVariantInParam state/*[in]*/, 
                                                  Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                  Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                  , Mscorlib_tlb::_StreamPtr Stream/*[in]*/);
  HRESULT         __fastcall GetResponseStream(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/
                                               , TVariantInParam state/*[in]*/, 
                                               Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                               Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                               Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_StreamPtr __fastcall GetResponseStream(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/, 
                                                        TVariantInParam state/*[in]*/, 
                                                        Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                        Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/);
  HRESULT         __fastcall get_NextChannelSink(Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IServerChannelSinkPtr __fastcall get_NextChannelSink(void);

  __property   Mscorlib_tlb::IServerChannelSinkPtr NextChannelSink = {read = get_NextChannelSink};
};
typedef IServerChannelSinkDispT<IServerChannelSink> IServerChannelSinkDisp;

// *********************************************************************//
// SmartIntf: TCOM_EnterpriseServicesHelper
// Interface: _EnterpriseServicesHelper
// *********************************************************************//
template <class T /* _EnterpriseServicesHelper */ >
class TCOM_EnterpriseServicesHelperT : public TComInterface<_EnterpriseServicesHelper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EnterpriseServicesHelperT() {}
  TCOM_EnterpriseServicesHelperT(_EnterpriseServicesHelper *intf, bool addRef = false) : TComInterface<_EnterpriseServicesHelper>(intf, addRef) {}
  TCOM_EnterpriseServicesHelperT(const TCOM_EnterpriseServicesHelperT& src) : TComInterface<_EnterpriseServicesHelper>(src) {}
  TCOM_EnterpriseServicesHelperT& operator=(const TCOM_EnterpriseServicesHelperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_EnterpriseServicesHelperT<_EnterpriseServicesHelper> TCOM_EnterpriseServicesHelper;

// *********************************************************************//
// DispIntf:  _EnterpriseServicesHelper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77C9BCEB-9958-33C0-A858-599F66697DA7}
// *********************************************************************//
template<class T>
class _EnterpriseServicesHelperDispT : public TAutoDriver<_EnterpriseServicesHelper>
{
public:
  _EnterpriseServicesHelperDispT(){}

  _EnterpriseServicesHelperDispT(_EnterpriseServicesHelper *pintf)
  {
    TAutoDriver<_EnterpriseServicesHelper>::Bind(pintf, false);
  }

  _EnterpriseServicesHelperDispT(_EnterpriseServicesHelperPtr pintf)
  {
    TAutoDriver<_EnterpriseServicesHelper>::Bind(pintf, true);
  }

  _EnterpriseServicesHelperDispT& operator=(_EnterpriseServicesHelper *pintf)
  {
    TAutoDriver<_EnterpriseServicesHelper>::Bind(pintf, false);
    return *this;
  }

  _EnterpriseServicesHelperDispT& operator=(_EnterpriseServicesHelperPtr pintf)
  {
    TAutoDriver<_EnterpriseServicesHelper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_EnterpriseServicesHelper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_EnterpriseServicesHelper);
  }


};
typedef _EnterpriseServicesHelperDispT<_EnterpriseServicesHelper> _EnterpriseServicesHelperDisp;

// *********************************************************************//
// SmartIntf: TCOM_Header
// Interface: _Header
// *********************************************************************//
template <class T /* _Header */ >
class TCOM_HeaderT : public TComInterface<_Header>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HeaderT() {}
  TCOM_HeaderT(_Header *intf, bool addRef = false) : TComInterface<_Header>(intf, addRef) {}
  TCOM_HeaderT(const TCOM_HeaderT& src) : TComInterface<_Header>(src) {}
  TCOM_HeaderT& operator=(const TCOM_HeaderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HeaderT<_Header> TCOM_Header;

// *********************************************************************//
// DispIntf:  _Header
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D296515-AD19-3602-B415-D8EC77066081}
// *********************************************************************//
template<class T>
class _HeaderDispT : public TAutoDriver<_Header>
{
public:
  _HeaderDispT(){}

  _HeaderDispT(_Header *pintf)
  {
    TAutoDriver<_Header>::Bind(pintf, false);
  }

  _HeaderDispT(_HeaderPtr pintf)
  {
    TAutoDriver<_Header>::Bind(pintf, true);
  }

  _HeaderDispT& operator=(_Header *pintf)
  {
    TAutoDriver<_Header>::Bind(pintf, false);
    return *this;
  }

  _HeaderDispT& operator=(_HeaderPtr pintf)
  {
    TAutoDriver<_Header>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Header));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Header);
  }


};
typedef _HeaderDispT<_Header> _HeaderDisp;

// *********************************************************************//
// SmartIntf: TCOM_HeaderHandler
// Interface: _HeaderHandler
// *********************************************************************//
template <class T /* _HeaderHandler */ >
class TCOM_HeaderHandlerT : public TComInterface<_HeaderHandler>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HeaderHandlerT() {}
  TCOM_HeaderHandlerT(_HeaderHandler *intf, bool addRef = false) : TComInterface<_HeaderHandler>(intf, addRef) {}
  TCOM_HeaderHandlerT(const TCOM_HeaderHandlerT& src) : TComInterface<_HeaderHandler>(src) {}
  TCOM_HeaderHandlerT& operator=(const TCOM_HeaderHandlerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HeaderHandlerT<_HeaderHandler> TCOM_HeaderHandler;

// *********************************************************************//
// DispIntf:  _HeaderHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5DBBAF39-A3DF-30B7-AAEA-9FD11394123F}
// *********************************************************************//
template<class T>
class _HeaderHandlerDispT : public TAutoDriver<_HeaderHandler>
{
public:
  _HeaderHandlerDispT(){}

  _HeaderHandlerDispT(_HeaderHandler *pintf)
  {
    TAutoDriver<_HeaderHandler>::Bind(pintf, false);
  }

  _HeaderHandlerDispT(_HeaderHandlerPtr pintf)
  {
    TAutoDriver<_HeaderHandler>::Bind(pintf, true);
  }

  _HeaderHandlerDispT& operator=(_HeaderHandler *pintf)
  {
    TAutoDriver<_HeaderHandler>::Bind(pintf, false);
    return *this;
  }

  _HeaderHandlerDispT& operator=(_HeaderHandlerPtr pintf)
  {
    TAutoDriver<_HeaderHandler>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HeaderHandler));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HeaderHandler);
  }


};
typedef _HeaderHandlerDispT<_HeaderHandler> _HeaderHandlerDisp;

typedef TComInterface<IMessage>  TCOMIMessage;

// *********************************************************************//
// DispIntf:  IMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1A8B0DE6-B825-38C5-B744-8F93075FD6FA}
// *********************************************************************//
template<class T>
class IMessageDispT : public TAutoDriver<IMessage>
{
public:
  IMessageDispT(){}

  IMessageDispT(IMessage *pintf)
  {
    TAutoDriver<IMessage>::Bind(pintf, false);
  }

  IMessageDispT(IMessagePtr pintf)
  {
    TAutoDriver<IMessage>::Bind(pintf, true);
  }

  IMessageDispT& operator=(IMessage *pintf)
  {
    TAutoDriver<IMessage>::Bind(pintf, false);
    return *this;
  }

  IMessageDispT& operator=(IMessagePtr pintf)
  {
    TAutoDriver<IMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Properties(Mscorlib_tlb::IDictionaryPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IDictionaryPtr __fastcall get_Properties(void);

  __property   Mscorlib_tlb::IDictionaryPtr Properties = {read = get_Properties};
};
typedef IMessageDispT<IMessage> IMessageDisp;

typedef TComInterface<IMethodMessage>  TCOMIMethodMessage;

// *********************************************************************//
// DispIntf:  IMethodMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {8E5E0B95-750E-310D-892C-8CA7231CF75B}
// *********************************************************************//
template<class T>
class IMethodMessageDispT : public TAutoDriver<IMethodMessage>
{
public:
  IMethodMessageDispT(){}

  IMethodMessageDispT(IMethodMessage *pintf)
  {
    TAutoDriver<IMethodMessage>::Bind(pintf, false);
  }

  IMethodMessageDispT(IMethodMessagePtr pintf)
  {
    TAutoDriver<IMethodMessage>::Bind(pintf, true);
  }

  IMethodMessageDispT& operator=(IMethodMessage *pintf)
  {
    TAutoDriver<IMethodMessage>::Bind(pintf, false);
    return *this;
  }

  IMethodMessageDispT& operator=(IMethodMessagePtr pintf)
  {
    TAutoDriver<IMethodMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Uri(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_Uri(void);
  HRESULT         __fastcall get_MethodName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_MethodName(void);
  HRESULT         __fastcall get_typeName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_typeName(void);
  HRESULT         __fastcall get_MethodSignature(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_MethodSignature(void);
  HRESULT         __fastcall get_ArgCount(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_ArgCount(void);
  HRESULT         __fastcall GetArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall GetArgName(long index/*[in]*/);
  HRESULT         __fastcall GetArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetArg(long argNum/*[in]*/);
  HRESULT         __fastcall get_args(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_args(void);
  HRESULT         __fastcall get_HasVarArgs(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_HasVarArgs(void);
  HRESULT         __fastcall get_LogicalCallContext(Mscorlib_tlb::_LogicalCallContextPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_LogicalCallContextPtr __fastcall get_LogicalCallContext(void);
  HRESULT         __fastcall get_MethodBase(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_MethodBasePtr __fastcall get_MethodBase(void);

  __property   BSTR            Uri = {read = get_Uri};
  __property   BSTR            MethodName = {read = get_MethodName};
  __property   BSTR            typeName = {read = get_typeName};
  __property   long            ArgCount = {read = get_ArgCount};
  __property   TOLEBOOL        HasVarArgs = {read = get_HasVarArgs};
  __property   Mscorlib_tlb::_LogicalCallContextPtr LogicalCallContext = {read = get_LogicalCallContext};
  __property   Mscorlib_tlb::_MethodBasePtr MethodBase = {read = get_MethodBase};
};
typedef IMethodMessageDispT<IMethodMessage> IMethodMessageDisp;

typedef TComInterface<IMethodCallMessage>  TCOMIMethodCallMessage;

// *********************************************************************//
// DispIntf:  IMethodCallMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B90EFAA6-25E4-33D2-ACA3-94BF74DC4AB9}
// *********************************************************************//
template<class T>
class IMethodCallMessageDispT : public TAutoDriver<IMethodCallMessage>
{
public:
  IMethodCallMessageDispT(){}

  IMethodCallMessageDispT(IMethodCallMessage *pintf)
  {
    TAutoDriver<IMethodCallMessage>::Bind(pintf, false);
  }

  IMethodCallMessageDispT(IMethodCallMessagePtr pintf)
  {
    TAutoDriver<IMethodCallMessage>::Bind(pintf, true);
  }

  IMethodCallMessageDispT& operator=(IMethodCallMessage *pintf)
  {
    TAutoDriver<IMethodCallMessage>::Bind(pintf, false);
    return *this;
  }

  IMethodCallMessageDispT& operator=(IMethodCallMessagePtr pintf)
  {
    TAutoDriver<IMethodCallMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_InArgCount(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_InArgCount(void);
  HRESULT         __fastcall GetInArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall GetInArgName(long index/*[in]*/);
  HRESULT         __fastcall GetInArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetInArg(long argNum/*[in]*/);
  HRESULT         __fastcall get_InArgs(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_InArgs(void);

  __property   long            InArgCount = {read = get_InArgCount};
};
typedef IMethodCallMessageDispT<IMethodCallMessage> IMethodCallMessageDisp;

typedef TComInterface<IConstructionCallMessage>  TCOMIConstructionCallMessage;

// *********************************************************************//
// DispIntf:  IConstructionCallMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FA28E3AF-7D09-31D5-BEEB-7F2626497CDE}
// *********************************************************************//
template<class T>
class IConstructionCallMessageDispT : public TAutoDriver<IConstructionCallMessage>
{
public:
  IConstructionCallMessageDispT(){}

  IConstructionCallMessageDispT(IConstructionCallMessage *pintf)
  {
    TAutoDriver<IConstructionCallMessage>::Bind(pintf, false);
  }

  IConstructionCallMessageDispT(IConstructionCallMessagePtr pintf)
  {
    TAutoDriver<IConstructionCallMessage>::Bind(pintf, true);
  }

  IConstructionCallMessageDispT& operator=(IConstructionCallMessage *pintf)
  {
    TAutoDriver<IConstructionCallMessage>::Bind(pintf, false);
    return *this;
  }

  IConstructionCallMessageDispT& operator=(IConstructionCallMessagePtr pintf)
  {
    TAutoDriver<IConstructionCallMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Activator(Mscorlib_tlb::IActivatorPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IActivatorPtr __fastcall get_Activator(void);
  HRESULT         __fastcall _set_Activator(Mscorlib_tlb::IActivatorPtr pRetVal/*[in]*/);
  HRESULT         __fastcall get_CallSiteActivationAttributes(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_CallSiteActivationAttributes(void);
  HRESULT         __fastcall get_ActivationTypeName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ActivationTypeName(void);
  HRESULT         __fastcall get_ActivationType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall get_ActivationType(void);
  HRESULT         __fastcall get_ContextProperties(Mscorlib_tlb::IListPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IListPtr __fastcall get_ContextProperties(void);

  __property   Mscorlib_tlb::IActivatorPtr Activator = {read = get_Activator, write = _set_Activator};
  __property   BSTR            ActivationTypeName = {read = get_ActivationTypeName};
  __property   Mscorlib_tlb::_TypePtr ActivationType = {read = get_ActivationType};
  __property   Mscorlib_tlb::IListPtr ContextProperties = {read = get_ContextProperties};
};
typedef IConstructionCallMessageDispT<IConstructionCallMessage> IConstructionCallMessageDisp;

typedef TComInterface<IMethodReturnMessage>  TCOMIMethodReturnMessage;

// *********************************************************************//
// DispIntf:  IMethodReturnMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F617690A-55F4-36AF-9149-D199831F8594}
// *********************************************************************//
template<class T>
class IMethodReturnMessageDispT : public TAutoDriver<IMethodReturnMessage>
{
public:
  IMethodReturnMessageDispT(){}

  IMethodReturnMessageDispT(IMethodReturnMessage *pintf)
  {
    TAutoDriver<IMethodReturnMessage>::Bind(pintf, false);
  }

  IMethodReturnMessageDispT(IMethodReturnMessagePtr pintf)
  {
    TAutoDriver<IMethodReturnMessage>::Bind(pintf, true);
  }

  IMethodReturnMessageDispT& operator=(IMethodReturnMessage *pintf)
  {
    TAutoDriver<IMethodReturnMessage>::Bind(pintf, false);
    return *this;
  }

  IMethodReturnMessageDispT& operator=(IMethodReturnMessagePtr pintf)
  {
    TAutoDriver<IMethodReturnMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_OutArgCount(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_OutArgCount(void);
  HRESULT         __fastcall GetOutArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall GetOutArgName(long index/*[in]*/);
  HRESULT         __fastcall GetOutArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetOutArg(long argNum/*[in]*/);
  HRESULT         __fastcall get_OutArgs(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_OutArgs(void);
  HRESULT         __fastcall get_Exception(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ExceptionPtr __fastcall get_Exception(void);
  HRESULT         __fastcall get_ReturnValue(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_ReturnValue(void);

  __property   long            OutArgCount = {read = get_OutArgCount};
  __property   Mscorlib_tlb::_ExceptionPtr Exception = {read = get_Exception};
};
typedef IMethodReturnMessageDispT<IMethodReturnMessage> IMethodReturnMessageDisp;

typedef TComInterface<IConstructionReturnMessage>  TCOMIConstructionReturnMessage;

// *********************************************************************//
// DispIntf:  IConstructionReturnMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CA0AB564-F5E9-3A7F-A80B-EB0AEEFA44E9}
// *********************************************************************//
template<class T>
class IConstructionReturnMessageDispT : public TAutoDriver<IConstructionReturnMessage>
{
public:
  IConstructionReturnMessageDispT(){}

  IConstructionReturnMessageDispT(IConstructionReturnMessage *pintf)
  {
    TAutoDriver<IConstructionReturnMessage>::Bind(pintf, false);
  }

  IConstructionReturnMessageDispT(IConstructionReturnMessagePtr pintf)
  {
    TAutoDriver<IConstructionReturnMessage>::Bind(pintf, true);
  }

  IConstructionReturnMessageDispT& operator=(IConstructionReturnMessage *pintf)
  {
    TAutoDriver<IConstructionReturnMessage>::Bind(pintf, false);
    return *this;
  }

  IConstructionReturnMessageDispT& operator=(IConstructionReturnMessagePtr pintf)
  {
    TAutoDriver<IConstructionReturnMessage>::Bind(pintf, true);
    return *this;
  }


};
typedef IConstructionReturnMessageDispT<IConstructionReturnMessage> IConstructionReturnMessageDisp;

typedef TComInterface<IChannelReceiverHook>  TCOMIChannelReceiverHook;

// *********************************************************************//
// DispIntf:  IChannelReceiverHook
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3A02D3F7-3F40-3022-853D-CFDA765182FE}
// *********************************************************************//
template<class T>
class IChannelReceiverHookDispT : public TAutoDriver<IChannelReceiverHook>
{
public:
  IChannelReceiverHookDispT(){}

  IChannelReceiverHookDispT(IChannelReceiverHook *pintf)
  {
    TAutoDriver<IChannelReceiverHook>::Bind(pintf, false);
  }

  IChannelReceiverHookDispT(IChannelReceiverHookPtr pintf)
  {
    TAutoDriver<IChannelReceiverHook>::Bind(pintf, true);
  }

  IChannelReceiverHookDispT& operator=(IChannelReceiverHook *pintf)
  {
    TAutoDriver<IChannelReceiverHook>::Bind(pintf, false);
    return *this;
  }

  IChannelReceiverHookDispT& operator=(IChannelReceiverHookPtr pintf)
  {
    TAutoDriver<IChannelReceiverHook>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ChannelScheme(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ChannelScheme(void);
  HRESULT         __fastcall get_WantsToListen(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_WantsToListen(void);
  HRESULT         __fastcall get_ChannelSinkChain(Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IServerChannelSinkPtr __fastcall get_ChannelSinkChain(void);
  HRESULT         __fastcall AddHookChannelUri(BSTR channelUri/*[in]*/);

  __property   BSTR            ChannelScheme = {read = get_ChannelScheme};
  __property   TOLEBOOL        WantsToListen = {read = get_WantsToListen};
  __property   Mscorlib_tlb::IServerChannelSinkPtr ChannelSinkChain = {read = get_ChannelSinkChain};
};
typedef IChannelReceiverHookDispT<IChannelReceiverHook> IChannelReceiverHookDisp;

typedef TComInterface<IClientChannelSinkProvider>  TCOMIClientChannelSinkProvider;

// *********************************************************************//
// DispIntf:  IClientChannelSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3F8742C2-AC57-3440-A283-FE5FF4C75025}
// *********************************************************************//
template<class T>
class IClientChannelSinkProviderDispT : public TAutoDriver<IClientChannelSinkProvider>
{
public:
  IClientChannelSinkProviderDispT(){}

  IClientChannelSinkProviderDispT(IClientChannelSinkProvider *pintf)
  {
    TAutoDriver<IClientChannelSinkProvider>::Bind(pintf, false);
  }

  IClientChannelSinkProviderDispT(IClientChannelSinkProviderPtr pintf)
  {
    TAutoDriver<IClientChannelSinkProvider>::Bind(pintf, true);
  }

  IClientChannelSinkProviderDispT& operator=(IClientChannelSinkProvider *pintf)
  {
    TAutoDriver<IClientChannelSinkProvider>::Bind(pintf, false);
    return *this;
  }

  IClientChannelSinkProviderDispT& operator=(IClientChannelSinkProviderPtr pintf)
  {
    TAutoDriver<IClientChannelSinkProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall CreateSink(Mscorlib_tlb::IChannelSenderPtr channel/*[in]*/, 
                                        BSTR Url/*[in]*/, TVariantInParam remoteChannelData/*[in]*/
                                        , 
                                        Mscorlib_tlb::IClientChannelSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IClientChannelSinkPtr __fastcall CreateSink(Mscorlib_tlb::IChannelSenderPtr channel/*[in]*/, 
                                                            BSTR Url/*[in]*/, 
                                                            TVariantInParam remoteChannelData/*[in]*/);
  HRESULT         __fastcall get_Next(Mscorlib_tlb::IClientChannelSinkProviderPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IClientChannelSinkProviderPtr __fastcall get_Next(void);
  HRESULT         __fastcall _set_Next(Mscorlib_tlb::IClientChannelSinkProviderPtr pRetVal/*[in]*/);

  __property   Mscorlib_tlb::IClientChannelSinkProviderPtr Next = {read = get_Next, write = _set_Next};
};
typedef IClientChannelSinkProviderDispT<IClientChannelSinkProvider> IClientChannelSinkProviderDisp;

typedef TComInterface<IClientFormatterSinkProvider>  TCOMIClientFormatterSinkProvider;

// *********************************************************************//
// DispIntf:  IClientFormatterSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6D94B6F3-DA91-3C2F-B876-083769667468}
// *********************************************************************//
template<class T>
class IClientFormatterSinkProviderDispT : public TAutoDriver<IClientFormatterSinkProvider>
{
public:
  IClientFormatterSinkProviderDispT(){}

  IClientFormatterSinkProviderDispT(IClientFormatterSinkProvider *pintf)
  {
    TAutoDriver<IClientFormatterSinkProvider>::Bind(pintf, false);
  }

  IClientFormatterSinkProviderDispT(IClientFormatterSinkProviderPtr pintf)
  {
    TAutoDriver<IClientFormatterSinkProvider>::Bind(pintf, true);
  }

  IClientFormatterSinkProviderDispT& operator=(IClientFormatterSinkProvider *pintf)
  {
    TAutoDriver<IClientFormatterSinkProvider>::Bind(pintf, false);
    return *this;
  }

  IClientFormatterSinkProviderDispT& operator=(IClientFormatterSinkProviderPtr pintf)
  {
    TAutoDriver<IClientFormatterSinkProvider>::Bind(pintf, true);
    return *this;
  }


};
typedef IClientFormatterSinkProviderDispT<IClientFormatterSinkProvider> IClientFormatterSinkProviderDisp;

typedef TComInterface<IServerFormatterSinkProvider>  TCOMIServerFormatterSinkProvider;

// *********************************************************************//
// DispIntf:  IServerFormatterSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {042B5200-4317-3E4D-B653-7E9A08F1A5F2}
// *********************************************************************//
template<class T>
class IServerFormatterSinkProviderDispT : public TAutoDriver<IServerFormatterSinkProvider>
{
public:
  IServerFormatterSinkProviderDispT(){}

  IServerFormatterSinkProviderDispT(IServerFormatterSinkProvider *pintf)
  {
    TAutoDriver<IServerFormatterSinkProvider>::Bind(pintf, false);
  }

  IServerFormatterSinkProviderDispT(IServerFormatterSinkProviderPtr pintf)
  {
    TAutoDriver<IServerFormatterSinkProvider>::Bind(pintf, true);
  }

  IServerFormatterSinkProviderDispT& operator=(IServerFormatterSinkProvider *pintf)
  {
    TAutoDriver<IServerFormatterSinkProvider>::Bind(pintf, false);
    return *this;
  }

  IServerFormatterSinkProviderDispT& operator=(IServerFormatterSinkProviderPtr pintf)
  {
    TAutoDriver<IServerFormatterSinkProvider>::Bind(pintf, true);
    return *this;
  }


};
typedef IServerFormatterSinkProviderDispT<IServerFormatterSinkProvider> IServerFormatterSinkProviderDisp;

typedef TComInterface<IClientChannelSink>  TCOMIClientChannelSink;

// *********************************************************************//
// DispIntf:  IClientChannelSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FF726320-6B92-3E6C-AAAC-F97063D0B142}
// *********************************************************************//
template<class T>
class IClientChannelSinkDispT : public TAutoDriver<IClientChannelSink>
{
public:
  IClientChannelSinkDispT(){}

  IClientChannelSinkDispT(IClientChannelSink *pintf)
  {
    TAutoDriver<IClientChannelSink>::Bind(pintf, false);
  }

  IClientChannelSinkDispT(IClientChannelSinkPtr pintf)
  {
    TAutoDriver<IClientChannelSink>::Bind(pintf, true);
  }

  IClientChannelSinkDispT& operator=(IClientChannelSink *pintf)
  {
    TAutoDriver<IClientChannelSink>::Bind(pintf, false);
    return *this;
  }

  IClientChannelSinkDispT& operator=(IClientChannelSinkPtr pintf)
  {
    TAutoDriver<IClientChannelSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall ProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                            Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/
                                            , Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                            Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/
                                            , Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/);
  HRESULT         __fastcall AsyncProcessRequest(Mscorlib_tlb::IClientChannelSinkStackPtr sinkStack/*[in]*/
                                                 , Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                 Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                 , Mscorlib_tlb::_StreamPtr Stream/*[in]*/);
  HRESULT         __fastcall AsyncProcessResponse(Mscorlib_tlb::IClientResponseChannelSinkStackPtr sinkStack/*[in]*/
                                                  , TVariantInParam state/*[in]*/, 
                                                  Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                  , Mscorlib_tlb::_StreamPtr Stream/*[in]*/);
  HRESULT         __fastcall GetRequestStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                              Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                              Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_StreamPtr __fastcall GetRequestStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                       Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/);
  HRESULT         __fastcall get_NextChannelSink(Mscorlib_tlb::IClientChannelSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IClientChannelSinkPtr __fastcall get_NextChannelSink(void);

  __property   Mscorlib_tlb::IClientChannelSinkPtr NextChannelSink = {read = get_NextChannelSink};
};
typedef IClientChannelSinkDispT<IClientChannelSink> IClientChannelSinkDisp;

typedef TComInterface<IClientFormatterSink>  TCOMIClientFormatterSink;

// *********************************************************************//
// DispIntf:  IClientFormatterSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {46527C03-B144-3CF0-86B3-B8776148A6E9}
// *********************************************************************//
template<class T>
class IClientFormatterSinkDispT : public TAutoDriver<IClientFormatterSink>
{
public:
  IClientFormatterSinkDispT(){}

  IClientFormatterSinkDispT(IClientFormatterSink *pintf)
  {
    TAutoDriver<IClientFormatterSink>::Bind(pintf, false);
  }

  IClientFormatterSinkDispT(IClientFormatterSinkPtr pintf)
  {
    TAutoDriver<IClientFormatterSink>::Bind(pintf, true);
  }

  IClientFormatterSinkDispT& operator=(IClientFormatterSink *pintf)
  {
    TAutoDriver<IClientFormatterSink>::Bind(pintf, false);
    return *this;
  }

  IClientFormatterSinkDispT& operator=(IClientFormatterSinkPtr pintf)
  {
    TAutoDriver<IClientFormatterSink>::Bind(pintf, true);
    return *this;
  }


};
typedef IClientFormatterSinkDispT<IClientFormatterSink> IClientFormatterSinkDisp;

typedef TComInterface<IChannelDataStore>  TCOMIChannelDataStore;

// *********************************************************************//
// DispIntf:  IChannelDataStore
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1E250CCD-DC30-3217-A7E4-148F375A0088}
// *********************************************************************//
template<class T>
class IChannelDataStoreDispT : public TAutoDriver<IChannelDataStore>
{
public:
  IChannelDataStoreDispT(){}

  IChannelDataStoreDispT(IChannelDataStore *pintf)
  {
    TAutoDriver<IChannelDataStore>::Bind(pintf, false);
  }

  IChannelDataStoreDispT(IChannelDataStorePtr pintf)
  {
    TAutoDriver<IChannelDataStore>::Bind(pintf, true);
  }

  IChannelDataStoreDispT& operator=(IChannelDataStore *pintf)
  {
    TAutoDriver<IChannelDataStore>::Bind(pintf, false);
    return *this;
  }

  IChannelDataStoreDispT& operator=(IChannelDataStorePtr pintf)
  {
    TAutoDriver<IChannelDataStore>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ChannelUris(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_ChannelUris(void);
  HRESULT         __fastcall get_Item(TVariantInParam key/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Item(TVariantInParam key/*[in]*/);
  HRESULT         __fastcall _set_Item(TVariantInParam key/*[in]*/, TVariantInParam pRetVal/*[in]*/);

};
typedef IChannelDataStoreDispT<IChannelDataStore> IChannelDataStoreDisp;

// *********************************************************************//
// SmartIntf: TCOM_ChannelDataStore
// Interface: _ChannelDataStore
// *********************************************************************//
template <class T /* _ChannelDataStore */ >
class TCOM_ChannelDataStoreT : public TComInterface<_ChannelDataStore>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ChannelDataStoreT() {}
  TCOM_ChannelDataStoreT(_ChannelDataStore *intf, bool addRef = false) : TComInterface<_ChannelDataStore>(intf, addRef) {}
  TCOM_ChannelDataStoreT(const TCOM_ChannelDataStoreT& src) : TComInterface<_ChannelDataStore>(src) {}
  TCOM_ChannelDataStoreT& operator=(const TCOM_ChannelDataStoreT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ChannelDataStoreT<_ChannelDataStore> TCOM_ChannelDataStore;

// *********************************************************************//
// DispIntf:  _ChannelDataStore
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AA6DA581-F972-36DE-A53B-7585428A68AB}
// *********************************************************************//
template<class T>
class _ChannelDataStoreDispT : public TAutoDriver<_ChannelDataStore>
{
public:
  _ChannelDataStoreDispT(){}

  _ChannelDataStoreDispT(_ChannelDataStore *pintf)
  {
    TAutoDriver<_ChannelDataStore>::Bind(pintf, false);
  }

  _ChannelDataStoreDispT(_ChannelDataStorePtr pintf)
  {
    TAutoDriver<_ChannelDataStore>::Bind(pintf, true);
  }

  _ChannelDataStoreDispT& operator=(_ChannelDataStore *pintf)
  {
    TAutoDriver<_ChannelDataStore>::Bind(pintf, false);
    return *this;
  }

  _ChannelDataStoreDispT& operator=(_ChannelDataStorePtr pintf)
  {
    TAutoDriver<_ChannelDataStore>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ChannelDataStore));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ChannelDataStore);
  }


};
typedef _ChannelDataStoreDispT<_ChannelDataStore> _ChannelDataStoreDisp;

typedef TComInterface<ITransportHeaders>  TCOMITransportHeaders;

// *********************************************************************//
// DispIntf:  ITransportHeaders
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1AC82FBE-4FF0-383C-BBFD-FE40ECB3628D}
// *********************************************************************//
template<class T>
class ITransportHeadersDispT : public TAutoDriver<ITransportHeaders>
{
public:
  ITransportHeadersDispT(){}

  ITransportHeadersDispT(ITransportHeaders *pintf)
  {
    TAutoDriver<ITransportHeaders>::Bind(pintf, false);
  }

  ITransportHeadersDispT(ITransportHeadersPtr pintf)
  {
    TAutoDriver<ITransportHeaders>::Bind(pintf, true);
  }

  ITransportHeadersDispT& operator=(ITransportHeaders *pintf)
  {
    TAutoDriver<ITransportHeaders>::Bind(pintf, false);
    return *this;
  }

  ITransportHeadersDispT& operator=(ITransportHeadersPtr pintf)
  {
    TAutoDriver<ITransportHeaders>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_Item(TVariantInParam key/*[in]*/, TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall get_Item(TVariantInParam key/*[in]*/);
  HRESULT         __fastcall _set_Item(TVariantInParam key/*[in]*/, TVariantInParam pRetVal/*[in]*/);
  HRESULT         __fastcall GetEnumerator(IEnumVARIANTPtr* pRetVal/*[out,retval]*/);
  IEnumVARIANTPtr __fastcall GetEnumerator(void);

};
typedef ITransportHeadersDispT<ITransportHeaders> ITransportHeadersDisp;

// *********************************************************************//
// SmartIntf: TCOM_TransportHeaders
// Interface: _TransportHeaders
// *********************************************************************//
template <class T /* _TransportHeaders */ >
class TCOM_TransportHeadersT : public TComInterface<_TransportHeaders>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TransportHeadersT() {}
  TCOM_TransportHeadersT(_TransportHeaders *intf, bool addRef = false) : TComInterface<_TransportHeaders>(intf, addRef) {}
  TCOM_TransportHeadersT(const TCOM_TransportHeadersT& src) : TComInterface<_TransportHeaders>(src) {}
  TCOM_TransportHeadersT& operator=(const TCOM_TransportHeadersT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TransportHeadersT<_TransportHeaders> TCOM_TransportHeaders;

// *********************************************************************//
// DispIntf:  _TransportHeaders
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {65887F70-C646-3A66-8697-8A3F7D8FE94D}
// *********************************************************************//
template<class T>
class _TransportHeadersDispT : public TAutoDriver<_TransportHeaders>
{
public:
  _TransportHeadersDispT(){}

  _TransportHeadersDispT(_TransportHeaders *pintf)
  {
    TAutoDriver<_TransportHeaders>::Bind(pintf, false);
  }

  _TransportHeadersDispT(_TransportHeadersPtr pintf)
  {
    TAutoDriver<_TransportHeaders>::Bind(pintf, true);
  }

  _TransportHeadersDispT& operator=(_TransportHeaders *pintf)
  {
    TAutoDriver<_TransportHeaders>::Bind(pintf, false);
    return *this;
  }

  _TransportHeadersDispT& operator=(_TransportHeadersPtr pintf)
  {
    TAutoDriver<_TransportHeaders>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TransportHeaders));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TransportHeaders);
  }


};
typedef _TransportHeadersDispT<_TransportHeaders> _TransportHeadersDisp;

// *********************************************************************//
// SmartIntf: TCOM_SinkProviderData
// Interface: _SinkProviderData
// *********************************************************************//
template <class T /* _SinkProviderData */ >
class TCOM_SinkProviderDataT : public TComInterface<_SinkProviderData>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SinkProviderDataT() {}
  TCOM_SinkProviderDataT(_SinkProviderData *intf, bool addRef = false) : TComInterface<_SinkProviderData>(intf, addRef) {}
  TCOM_SinkProviderDataT(const TCOM_SinkProviderDataT& src) : TComInterface<_SinkProviderData>(src) {}
  TCOM_SinkProviderDataT& operator=(const TCOM_SinkProviderDataT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SinkProviderDataT<_SinkProviderData> TCOM_SinkProviderData;

// *********************************************************************//
// DispIntf:  _SinkProviderData
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A18545B7-E5EE-31EE-9B9B-41199B11C995}
// *********************************************************************//
template<class T>
class _SinkProviderDataDispT : public TAutoDriver<_SinkProviderData>
{
public:
  _SinkProviderDataDispT(){}

  _SinkProviderDataDispT(_SinkProviderData *pintf)
  {
    TAutoDriver<_SinkProviderData>::Bind(pintf, false);
  }

  _SinkProviderDataDispT(_SinkProviderDataPtr pintf)
  {
    TAutoDriver<_SinkProviderData>::Bind(pintf, true);
  }

  _SinkProviderDataDispT& operator=(_SinkProviderData *pintf)
  {
    TAutoDriver<_SinkProviderData>::Bind(pintf, false);
    return *this;
  }

  _SinkProviderDataDispT& operator=(_SinkProviderDataPtr pintf)
  {
    TAutoDriver<_SinkProviderData>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SinkProviderData));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SinkProviderData);
  }


};
typedef _SinkProviderDataDispT<_SinkProviderData> _SinkProviderDataDisp;

// *********************************************************************//
// SmartIntf: TCOM_BaseChannelObjectWithProperties
// Interface: _BaseChannelObjectWithProperties
// *********************************************************************//
template <class T /* _BaseChannelObjectWithProperties */ >
class TCOM_BaseChannelObjectWithPropertiesT : public TComInterface<_BaseChannelObjectWithProperties>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BaseChannelObjectWithPropertiesT() {}
  TCOM_BaseChannelObjectWithPropertiesT(_BaseChannelObjectWithProperties *intf, bool addRef = false) : TComInterface<_BaseChannelObjectWithProperties>(intf, addRef) {}
  TCOM_BaseChannelObjectWithPropertiesT(const TCOM_BaseChannelObjectWithPropertiesT& src) : TComInterface<_BaseChannelObjectWithProperties>(src) {}
  TCOM_BaseChannelObjectWithPropertiesT& operator=(const TCOM_BaseChannelObjectWithPropertiesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BaseChannelObjectWithPropertiesT<_BaseChannelObjectWithProperties> TCOM_BaseChannelObjectWithProperties;

// *********************************************************************//
// DispIntf:  _BaseChannelObjectWithProperties
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1329EC9-E567-369F-8258-18366D89EAF8}
// *********************************************************************//
template<class T>
class _BaseChannelObjectWithPropertiesDispT : public TAutoDriver<_BaseChannelObjectWithProperties>
{
public:
  _BaseChannelObjectWithPropertiesDispT(){}

  _BaseChannelObjectWithPropertiesDispT(_BaseChannelObjectWithProperties *pintf)
  {
    TAutoDriver<_BaseChannelObjectWithProperties>::Bind(pintf, false);
  }

  _BaseChannelObjectWithPropertiesDispT(_BaseChannelObjectWithPropertiesPtr pintf)
  {
    TAutoDriver<_BaseChannelObjectWithProperties>::Bind(pintf, true);
  }

  _BaseChannelObjectWithPropertiesDispT& operator=(_BaseChannelObjectWithProperties *pintf)
  {
    TAutoDriver<_BaseChannelObjectWithProperties>::Bind(pintf, false);
    return *this;
  }

  _BaseChannelObjectWithPropertiesDispT& operator=(_BaseChannelObjectWithPropertiesPtr pintf)
  {
    TAutoDriver<_BaseChannelObjectWithProperties>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BaseChannelObjectWithProperties));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BaseChannelObjectWithProperties);
  }


};
typedef _BaseChannelObjectWithPropertiesDispT<_BaseChannelObjectWithProperties> _BaseChannelObjectWithPropertiesDisp;

// *********************************************************************//
// SmartIntf: TCOM_BaseChannelSinkWithProperties
// Interface: _BaseChannelSinkWithProperties
// *********************************************************************//
template <class T /* _BaseChannelSinkWithProperties */ >
class TCOM_BaseChannelSinkWithPropertiesT : public TComInterface<_BaseChannelSinkWithProperties>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BaseChannelSinkWithPropertiesT() {}
  TCOM_BaseChannelSinkWithPropertiesT(_BaseChannelSinkWithProperties *intf, bool addRef = false) : TComInterface<_BaseChannelSinkWithProperties>(intf, addRef) {}
  TCOM_BaseChannelSinkWithPropertiesT(const TCOM_BaseChannelSinkWithPropertiesT& src) : TComInterface<_BaseChannelSinkWithProperties>(src) {}
  TCOM_BaseChannelSinkWithPropertiesT& operator=(const TCOM_BaseChannelSinkWithPropertiesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BaseChannelSinkWithPropertiesT<_BaseChannelSinkWithProperties> TCOM_BaseChannelSinkWithProperties;

// *********************************************************************//
// DispIntf:  _BaseChannelSinkWithProperties
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8AF3451E-154D-3D86-80D8-F8478B9733ED}
// *********************************************************************//
template<class T>
class _BaseChannelSinkWithPropertiesDispT : public TAutoDriver<_BaseChannelSinkWithProperties>
{
public:
  _BaseChannelSinkWithPropertiesDispT(){}

  _BaseChannelSinkWithPropertiesDispT(_BaseChannelSinkWithProperties *pintf)
  {
    TAutoDriver<_BaseChannelSinkWithProperties>::Bind(pintf, false);
  }

  _BaseChannelSinkWithPropertiesDispT(_BaseChannelSinkWithPropertiesPtr pintf)
  {
    TAutoDriver<_BaseChannelSinkWithProperties>::Bind(pintf, true);
  }

  _BaseChannelSinkWithPropertiesDispT& operator=(_BaseChannelSinkWithProperties *pintf)
  {
    TAutoDriver<_BaseChannelSinkWithProperties>::Bind(pintf, false);
    return *this;
  }

  _BaseChannelSinkWithPropertiesDispT& operator=(_BaseChannelSinkWithPropertiesPtr pintf)
  {
    TAutoDriver<_BaseChannelSinkWithProperties>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BaseChannelSinkWithProperties));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BaseChannelSinkWithProperties);
  }


};
typedef _BaseChannelSinkWithPropertiesDispT<_BaseChannelSinkWithProperties> _BaseChannelSinkWithPropertiesDisp;

// *********************************************************************//
// SmartIntf: TCOM_BaseChannelWithProperties
// Interface: _BaseChannelWithProperties
// *********************************************************************//
template <class T /* _BaseChannelWithProperties */ >
class TCOM_BaseChannelWithPropertiesT : public TComInterface<_BaseChannelWithProperties>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BaseChannelWithPropertiesT() {}
  TCOM_BaseChannelWithPropertiesT(_BaseChannelWithProperties *intf, bool addRef = false) : TComInterface<_BaseChannelWithProperties>(intf, addRef) {}
  TCOM_BaseChannelWithPropertiesT(const TCOM_BaseChannelWithPropertiesT& src) : TComInterface<_BaseChannelWithProperties>(src) {}
  TCOM_BaseChannelWithPropertiesT& operator=(const TCOM_BaseChannelWithPropertiesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BaseChannelWithPropertiesT<_BaseChannelWithProperties> TCOM_BaseChannelWithProperties;

// *********************************************************************//
// DispIntf:  _BaseChannelWithProperties
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {94BB98ED-18BB-3843-A7FE-642824AB4E01}
// *********************************************************************//
template<class T>
class _BaseChannelWithPropertiesDispT : public TAutoDriver<_BaseChannelWithProperties>
{
public:
  _BaseChannelWithPropertiesDispT(){}

  _BaseChannelWithPropertiesDispT(_BaseChannelWithProperties *pintf)
  {
    TAutoDriver<_BaseChannelWithProperties>::Bind(pintf, false);
  }

  _BaseChannelWithPropertiesDispT(_BaseChannelWithPropertiesPtr pintf)
  {
    TAutoDriver<_BaseChannelWithProperties>::Bind(pintf, true);
  }

  _BaseChannelWithPropertiesDispT& operator=(_BaseChannelWithProperties *pintf)
  {
    TAutoDriver<_BaseChannelWithProperties>::Bind(pintf, false);
    return *this;
  }

  _BaseChannelWithPropertiesDispT& operator=(_BaseChannelWithPropertiesPtr pintf)
  {
    TAutoDriver<_BaseChannelWithProperties>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BaseChannelWithProperties));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BaseChannelWithProperties);
  }


};
typedef _BaseChannelWithPropertiesDispT<_BaseChannelWithProperties> _BaseChannelWithPropertiesDisp;

typedef TComInterface<IContributeClientContextSink>  TCOMIContributeClientContextSink;

// *********************************************************************//
// DispIntf:  IContributeClientContextSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4DB956B7-69D0-312A-AA75-44FB55FD5D4B}
// *********************************************************************//
template<class T>
class IContributeClientContextSinkDispT : public TAutoDriver<IContributeClientContextSink>
{
public:
  IContributeClientContextSinkDispT(){}

  IContributeClientContextSinkDispT(IContributeClientContextSink *pintf)
  {
    TAutoDriver<IContributeClientContextSink>::Bind(pintf, false);
  }

  IContributeClientContextSinkDispT(IContributeClientContextSinkPtr pintf)
  {
    TAutoDriver<IContributeClientContextSink>::Bind(pintf, true);
  }

  IContributeClientContextSinkDispT& operator=(IContributeClientContextSink *pintf)
  {
    TAutoDriver<IContributeClientContextSink>::Bind(pintf, false);
    return *this;
  }

  IContributeClientContextSinkDispT& operator=(IContributeClientContextSinkPtr pintf)
  {
    TAutoDriver<IContributeClientContextSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetClientContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                                  Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageSinkPtr __fastcall GetClientContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/);

};
typedef IContributeClientContextSinkDispT<IContributeClientContextSink> IContributeClientContextSinkDisp;

typedef TComInterface<IContributeDynamicSink>  TCOMIContributeDynamicSink;

// *********************************************************************//
// DispIntf:  IContributeDynamicSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {A0FE9B86-0C06-32CE-85FA-2FF1B58697FB}
// *********************************************************************//
template<class T>
class IContributeDynamicSinkDispT : public TAutoDriver<IContributeDynamicSink>
{
public:
  IContributeDynamicSinkDispT(){}

  IContributeDynamicSinkDispT(IContributeDynamicSink *pintf)
  {
    TAutoDriver<IContributeDynamicSink>::Bind(pintf, false);
  }

  IContributeDynamicSinkDispT(IContributeDynamicSinkPtr pintf)
  {
    TAutoDriver<IContributeDynamicSink>::Bind(pintf, true);
  }

  IContributeDynamicSinkDispT& operator=(IContributeDynamicSink *pintf)
  {
    TAutoDriver<IContributeDynamicSink>::Bind(pintf, false);
    return *this;
  }

  IContributeDynamicSinkDispT& operator=(IContributeDynamicSinkPtr pintf)
  {
    TAutoDriver<IContributeDynamicSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetDynamicSink(Mscorlib_tlb::IDynamicMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IDynamicMessageSinkPtr __fastcall GetDynamicSink(void);

};
typedef IContributeDynamicSinkDispT<IContributeDynamicSink> IContributeDynamicSinkDisp;

typedef TComInterface<IContributeEnvoySink>  TCOMIContributeEnvoySink;

// *********************************************************************//
// DispIntf:  IContributeEnvoySink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {124777B6-0308-3569-97E5-E6FE88EAE4EB}
// *********************************************************************//
template<class T>
class IContributeEnvoySinkDispT : public TAutoDriver<IContributeEnvoySink>
{
public:
  IContributeEnvoySinkDispT(){}

  IContributeEnvoySinkDispT(IContributeEnvoySink *pintf)
  {
    TAutoDriver<IContributeEnvoySink>::Bind(pintf, false);
  }

  IContributeEnvoySinkDispT(IContributeEnvoySinkPtr pintf)
  {
    TAutoDriver<IContributeEnvoySink>::Bind(pintf, true);
  }

  IContributeEnvoySinkDispT& operator=(IContributeEnvoySink *pintf)
  {
    TAutoDriver<IContributeEnvoySink>::Bind(pintf, false);
    return *this;
  }

  IContributeEnvoySinkDispT& operator=(IContributeEnvoySinkPtr pintf)
  {
    TAutoDriver<IContributeEnvoySink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetEnvoySink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                          Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                          Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageSinkPtr __fastcall GetEnvoySink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                                        Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/);

};
typedef IContributeEnvoySinkDispT<IContributeEnvoySink> IContributeEnvoySinkDisp;

typedef TComInterface<IContributeObjectSink>  TCOMIContributeObjectSink;

// *********************************************************************//
// DispIntf:  IContributeObjectSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6A5D38BC-2789-3546-81A1-F10C0FB59366}
// *********************************************************************//
template<class T>
class IContributeObjectSinkDispT : public TAutoDriver<IContributeObjectSink>
{
public:
  IContributeObjectSinkDispT(){}

  IContributeObjectSinkDispT(IContributeObjectSink *pintf)
  {
    TAutoDriver<IContributeObjectSink>::Bind(pintf, false);
  }

  IContributeObjectSinkDispT(IContributeObjectSinkPtr pintf)
  {
    TAutoDriver<IContributeObjectSink>::Bind(pintf, true);
  }

  IContributeObjectSinkDispT& operator=(IContributeObjectSink *pintf)
  {
    TAutoDriver<IContributeObjectSink>::Bind(pintf, false);
    return *this;
  }

  IContributeObjectSinkDispT& operator=(IContributeObjectSinkPtr pintf)
  {
    TAutoDriver<IContributeObjectSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetObjectSink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                           Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                           Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageSinkPtr __fastcall GetObjectSink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                                         Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/);

};
typedef IContributeObjectSinkDispT<IContributeObjectSink> IContributeObjectSinkDisp;

typedef TComInterface<IContributeServerContextSink>  TCOMIContributeServerContextSink;

// *********************************************************************//
// DispIntf:  IContributeServerContextSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0CAA23EC-F78C-39C9-8D25-B7A9CE4097A7}
// *********************************************************************//
template<class T>
class IContributeServerContextSinkDispT : public TAutoDriver<IContributeServerContextSink>
{
public:
  IContributeServerContextSinkDispT(){}

  IContributeServerContextSinkDispT(IContributeServerContextSink *pintf)
  {
    TAutoDriver<IContributeServerContextSink>::Bind(pintf, false);
  }

  IContributeServerContextSinkDispT(IContributeServerContextSinkPtr pintf)
  {
    TAutoDriver<IContributeServerContextSink>::Bind(pintf, true);
  }

  IContributeServerContextSinkDispT& operator=(IContributeServerContextSink *pintf)
  {
    TAutoDriver<IContributeServerContextSink>::Bind(pintf, false);
    return *this;
  }

  IContributeServerContextSinkDispT& operator=(IContributeServerContextSinkPtr pintf)
  {
    TAutoDriver<IContributeServerContextSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetServerContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                                  Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageSinkPtr __fastcall GetServerContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/);

};
typedef IContributeServerContextSinkDispT<IContributeServerContextSink> IContributeServerContextSinkDisp;

typedef TComInterface<IDynamicProperty>  TCOMIDynamicProperty;

// *********************************************************************//
// DispIntf:  IDynamicProperty
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00A358D4-4D58-3B9D-8FB6-FB7F6BC1713B}
// *********************************************************************//
template<class T>
class IDynamicPropertyDispT : public TAutoDriver<IDynamicProperty>
{
public:
  IDynamicPropertyDispT(){}

  IDynamicPropertyDispT(IDynamicProperty *pintf)
  {
    TAutoDriver<IDynamicProperty>::Bind(pintf, false);
  }

  IDynamicPropertyDispT(IDynamicPropertyPtr pintf)
  {
    TAutoDriver<IDynamicProperty>::Bind(pintf, true);
  }

  IDynamicPropertyDispT& operator=(IDynamicProperty *pintf)
  {
    TAutoDriver<IDynamicProperty>::Bind(pintf, false);
    return *this;
  }

  IDynamicPropertyDispT& operator=(IDynamicPropertyPtr pintf)
  {
    TAutoDriver<IDynamicProperty>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_name(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_name(void);

  __property   BSTR            name = {read = get_name};
};
typedef IDynamicPropertyDispT<IDynamicProperty> IDynamicPropertyDisp;

typedef TComInterface<IDynamicMessageSink>  TCOMIDynamicMessageSink;

// *********************************************************************//
// DispIntf:  IDynamicMessageSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C74076BB-8A2D-3C20-A542-625329E9AF04}
// *********************************************************************//
template<class T>
class IDynamicMessageSinkDispT : public TAutoDriver<IDynamicMessageSink>
{
public:
  IDynamicMessageSinkDispT(){}

  IDynamicMessageSinkDispT(IDynamicMessageSink *pintf)
  {
    TAutoDriver<IDynamicMessageSink>::Bind(pintf, false);
  }

  IDynamicMessageSinkDispT(IDynamicMessageSinkPtr pintf)
  {
    TAutoDriver<IDynamicMessageSink>::Bind(pintf, true);
  }

  IDynamicMessageSinkDispT& operator=(IDynamicMessageSink *pintf)
  {
    TAutoDriver<IDynamicMessageSink>::Bind(pintf, false);
    return *this;
  }

  IDynamicMessageSinkDispT& operator=(IDynamicMessageSinkPtr pintf)
  {
    TAutoDriver<IDynamicMessageSink>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall ProcessMessageStart(Mscorlib_tlb::IMessagePtr reqMsg/*[in]*/, 
                                                 TOLEBOOL bCliSide/*[in]*/, TOLEBOOL bAsync/*[in]*/);
  HRESULT         __fastcall ProcessMessageFinish(Mscorlib_tlb::IMessagePtr replyMsg/*[in]*/, 
                                                  TOLEBOOL bCliSide/*[in]*/, TOLEBOOL bAsync/*[in]*/);

};
typedef IDynamicMessageSinkDispT<IDynamicMessageSink> IDynamicMessageSinkDisp;

typedef TComInterface<ILease>  TCOMILease;

// *********************************************************************//
// DispIntf:  ILease
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {53A561F2-CBBF-3748-BFFE-2180002DB3DF}
// *********************************************************************//
template<class T>
class ILeaseDispT : public TAutoDriver<ILease>
{
public:
  ILeaseDispT(){}

  ILeaseDispT(ILease *pintf)
  {
    TAutoDriver<ILease>::Bind(pintf, false);
  }

  ILeaseDispT(ILeasePtr pintf)
  {
    TAutoDriver<ILease>::Bind(pintf, true);
  }

  ILeaseDispT& operator=(ILease *pintf)
  {
    TAutoDriver<ILease>::Bind(pintf, false);
    return *this;
  }

  ILeaseDispT& operator=(ILeasePtr pintf)
  {
    TAutoDriver<ILease>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Register(Mscorlib_tlb::ISponsorPtr obj/*[in]*/, 
                                      /*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan renewalTime)*/ TVariant&  renewalTime);
  HRESULT         __fastcall Register_2(Mscorlib_tlb::ISponsorPtr obj/*[in]*/);
  HRESULT         __fastcall Unregister(Mscorlib_tlb::ISponsorPtr obj/*[in]*/);
  HRESULT         __fastcall Renew(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan renewalTime)*/ TVariant&  renewalTime
                                   , 
                                   /*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall get_RenewOnCallTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall set_RenewOnCallTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan pRetVal)*/ TVariant&  pRetVal);
  HRESULT         __fastcall get_SponsorshipTimeout(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall set_SponsorshipTimeout(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan pRetVal)*/ TVariant&  pRetVal);
  HRESULT         __fastcall get_InitialLeaseTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall set_InitialLeaseTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan pRetVal)*/ TVariant&  pRetVal);
  HRESULT         __fastcall get_CurrentLeaseTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal);
  HRESULT         __fastcall get_CurrentState(Mscorlib_tlb::LeaseState* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::LeaseState __fastcall get_CurrentState(void);

  __property   Mscorlib_tlb::LeaseState CurrentState = {read = get_CurrentState};
};
typedef ILeaseDispT<ILease> ILeaseDisp;

typedef TComInterface<IMessageCtrl>  TCOMIMessageCtrl;

// *********************************************************************//
// DispIntf:  IMessageCtrl
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3677CBB0-784D-3C15-BBC8-75CD7DC3901E}
// *********************************************************************//
template<class T>
class IMessageCtrlDispT : public TAutoDriver<IMessageCtrl>
{
public:
  IMessageCtrlDispT(){}

  IMessageCtrlDispT(IMessageCtrl *pintf)
  {
    TAutoDriver<IMessageCtrl>::Bind(pintf, false);
  }

  IMessageCtrlDispT(IMessageCtrlPtr pintf)
  {
    TAutoDriver<IMessageCtrl>::Bind(pintf, true);
  }

  IMessageCtrlDispT& operator=(IMessageCtrl *pintf)
  {
    TAutoDriver<IMessageCtrl>::Bind(pintf, false);
    return *this;
  }

  IMessageCtrlDispT& operator=(IMessageCtrlPtr pintf)
  {
    TAutoDriver<IMessageCtrl>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Cancel(long msToCancel/*[in]*/);

};
typedef IMessageCtrlDispT<IMessageCtrl> IMessageCtrlDisp;

typedef TComInterface<IRemotingFormatter>  TCOMIRemotingFormatter;

// *********************************************************************//
// DispIntf:  IRemotingFormatter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AE1850FD-3596-3727-A242-2FC31C5A0312}
// *********************************************************************//
template<class T>
class IRemotingFormatterDispT : public TAutoDriver<IRemotingFormatter>
{
public:
  IRemotingFormatterDispT(){}

  IRemotingFormatterDispT(IRemotingFormatter *pintf)
  {
    TAutoDriver<IRemotingFormatter>::Bind(pintf, false);
  }

  IRemotingFormatterDispT(IRemotingFormatterPtr pintf)
  {
    TAutoDriver<IRemotingFormatter>::Bind(pintf, true);
  }

  IRemotingFormatterDispT& operator=(IRemotingFormatter *pintf)
  {
    TAutoDriver<IRemotingFormatter>::Bind(pintf, false);
    return *this;
  }

  IRemotingFormatterDispT& operator=(IRemotingFormatterPtr pintf)
  {
    TAutoDriver<IRemotingFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                         Mscorlib_tlb::_HeaderHandlerPtr handler/*[in]*/, 
                                         TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                         Mscorlib_tlb::_HeaderHandlerPtr handler/*[in]*/);
  HRESULT         __fastcall Serialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                       TVariantInParam graph/*[in]*/, LPSAFEARRAY headers/*[in]*/);

};
typedef IRemotingFormatterDispT<IRemotingFormatter> IRemotingFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_LifetimeServices
// Interface: _LifetimeServices
// *********************************************************************//
template <class T /* _LifetimeServices */ >
class TCOM_LifetimeServicesT : public TComInterface<_LifetimeServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LifetimeServicesT() {}
  TCOM_LifetimeServicesT(_LifetimeServices *intf, bool addRef = false) : TComInterface<_LifetimeServices>(intf, addRef) {}
  TCOM_LifetimeServicesT(const TCOM_LifetimeServicesT& src) : TComInterface<_LifetimeServices>(src) {}
  TCOM_LifetimeServicesT& operator=(const TCOM_LifetimeServicesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_LifetimeServicesT<_LifetimeServices> TCOM_LifetimeServices;

// *********************************************************************//
// DispIntf:  _LifetimeServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B0AD9A21-5439-3D88-8975-4018B828D74C}
// *********************************************************************//
template<class T>
class _LifetimeServicesDispT : public TAutoDriver<_LifetimeServices>
{
public:
  _LifetimeServicesDispT(){}

  _LifetimeServicesDispT(_LifetimeServices *pintf)
  {
    TAutoDriver<_LifetimeServices>::Bind(pintf, false);
  }

  _LifetimeServicesDispT(_LifetimeServicesPtr pintf)
  {
    TAutoDriver<_LifetimeServices>::Bind(pintf, true);
  }

  _LifetimeServicesDispT& operator=(_LifetimeServices *pintf)
  {
    TAutoDriver<_LifetimeServices>::Bind(pintf, false);
    return *this;
  }

  _LifetimeServicesDispT& operator=(_LifetimeServicesPtr pintf)
  {
    TAutoDriver<_LifetimeServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_LifetimeServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_LifetimeServices);
  }


};
typedef _LifetimeServicesDispT<_LifetimeServices> _LifetimeServicesDisp;

// *********************************************************************//
// SmartIntf: TCOM_ReturnMessage
// Interface: _ReturnMessage
// *********************************************************************//
template <class T /* _ReturnMessage */ >
class TCOM_ReturnMessageT : public TComInterface<_ReturnMessage>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ReturnMessageT() {}
  TCOM_ReturnMessageT(_ReturnMessage *intf, bool addRef = false) : TComInterface<_ReturnMessage>(intf, addRef) {}
  TCOM_ReturnMessageT(const TCOM_ReturnMessageT& src) : TComInterface<_ReturnMessage>(src) {}
  TCOM_ReturnMessageT& operator=(const TCOM_ReturnMessageT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ReturnMessageT<_ReturnMessage> TCOM_ReturnMessage;

// *********************************************************************//
// DispIntf:  _ReturnMessage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0EEFF4C2-84BF-3E4E-BF22-B7BDBB5DF899}
// *********************************************************************//
template<class T>
class _ReturnMessageDispT : public TAutoDriver<_ReturnMessage>
{
public:
  _ReturnMessageDispT(){}

  _ReturnMessageDispT(_ReturnMessage *pintf)
  {
    TAutoDriver<_ReturnMessage>::Bind(pintf, false);
  }

  _ReturnMessageDispT(_ReturnMessagePtr pintf)
  {
    TAutoDriver<_ReturnMessage>::Bind(pintf, true);
  }

  _ReturnMessageDispT& operator=(_ReturnMessage *pintf)
  {
    TAutoDriver<_ReturnMessage>::Bind(pintf, false);
    return *this;
  }

  _ReturnMessageDispT& operator=(_ReturnMessagePtr pintf)
  {
    TAutoDriver<_ReturnMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ReturnMessage));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ReturnMessage);
  }


};
typedef _ReturnMessageDispT<_ReturnMessage> _ReturnMessageDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodCall
// Interface: _MethodCall
// *********************************************************************//
template <class T /* _MethodCall */ >
class TCOM_MethodCallT : public TComInterface<_MethodCall>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodCallT() {}
  TCOM_MethodCallT(_MethodCall *intf, bool addRef = false) : TComInterface<_MethodCall>(intf, addRef) {}
  TCOM_MethodCallT(const TCOM_MethodCallT& src) : TComInterface<_MethodCall>(src) {}
  TCOM_MethodCallT& operator=(const TCOM_MethodCallT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MethodCallT<_MethodCall> TCOM_MethodCall;

// *********************************************************************//
// DispIntf:  _MethodCall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {95E01216-5467-371B-8597-4074402CCB06}
// *********************************************************************//
template<class T>
class _MethodCallDispT : public TAutoDriver<_MethodCall>
{
public:
  _MethodCallDispT(){}

  _MethodCallDispT(_MethodCall *pintf)
  {
    TAutoDriver<_MethodCall>::Bind(pintf, false);
  }

  _MethodCallDispT(_MethodCallPtr pintf)
  {
    TAutoDriver<_MethodCall>::Bind(pintf, true);
  }

  _MethodCallDispT& operator=(_MethodCall *pintf)
  {
    TAutoDriver<_MethodCall>::Bind(pintf, false);
    return *this;
  }

  _MethodCallDispT& operator=(_MethodCallPtr pintf)
  {
    TAutoDriver<_MethodCall>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MethodCall));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MethodCall);
  }


};
typedef _MethodCallDispT<_MethodCall> _MethodCallDisp;

// *********************************************************************//
// SmartIntf: TCOM_ConstructionCall
// Interface: _ConstructionCall
// *********************************************************************//
template <class T /* _ConstructionCall */ >
class TCOM_ConstructionCallT : public TComInterface<_ConstructionCall>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ConstructionCallT() {}
  TCOM_ConstructionCallT(_ConstructionCall *intf, bool addRef = false) : TComInterface<_ConstructionCall>(intf, addRef) {}
  TCOM_ConstructionCallT(const TCOM_ConstructionCallT& src) : TComInterface<_ConstructionCall>(src) {}
  TCOM_ConstructionCallT& operator=(const TCOM_ConstructionCallT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ConstructionCallT<_ConstructionCall> TCOM_ConstructionCall;

// *********************************************************************//
// DispIntf:  _ConstructionCall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A2246AE7-EB81-3A20-8E70-C9FA341C7E10}
// *********************************************************************//
template<class T>
class _ConstructionCallDispT : public TAutoDriver<_ConstructionCall>
{
public:
  _ConstructionCallDispT(){}

  _ConstructionCallDispT(_ConstructionCall *pintf)
  {
    TAutoDriver<_ConstructionCall>::Bind(pintf, false);
  }

  _ConstructionCallDispT(_ConstructionCallPtr pintf)
  {
    TAutoDriver<_ConstructionCall>::Bind(pintf, true);
  }

  _ConstructionCallDispT& operator=(_ConstructionCall *pintf)
  {
    TAutoDriver<_ConstructionCall>::Bind(pintf, false);
    return *this;
  }

  _ConstructionCallDispT& operator=(_ConstructionCallPtr pintf)
  {
    TAutoDriver<_ConstructionCall>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ConstructionCall));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ConstructionCall);
  }


};
typedef _ConstructionCallDispT<_ConstructionCall> _ConstructionCallDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodResponse
// Interface: _MethodResponse
// *********************************************************************//
template <class T /* _MethodResponse */ >
class TCOM_MethodResponseT : public TComInterface<_MethodResponse>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodResponseT() {}
  TCOM_MethodResponseT(_MethodResponse *intf, bool addRef = false) : TComInterface<_MethodResponse>(intf, addRef) {}
  TCOM_MethodResponseT(const TCOM_MethodResponseT& src) : TComInterface<_MethodResponse>(src) {}
  TCOM_MethodResponseT& operator=(const TCOM_MethodResponseT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MethodResponseT<_MethodResponse> TCOM_MethodResponse;

// *********************************************************************//
// DispIntf:  _MethodResponse
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9E9EA93A-D000-3AB9-BFCA-DDEB398A55B9}
// *********************************************************************//
template<class T>
class _MethodResponseDispT : public TAutoDriver<_MethodResponse>
{
public:
  _MethodResponseDispT(){}

  _MethodResponseDispT(_MethodResponse *pintf)
  {
    TAutoDriver<_MethodResponse>::Bind(pintf, false);
  }

  _MethodResponseDispT(_MethodResponsePtr pintf)
  {
    TAutoDriver<_MethodResponse>::Bind(pintf, true);
  }

  _MethodResponseDispT& operator=(_MethodResponse *pintf)
  {
    TAutoDriver<_MethodResponse>::Bind(pintf, false);
    return *this;
  }

  _MethodResponseDispT& operator=(_MethodResponsePtr pintf)
  {
    TAutoDriver<_MethodResponse>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MethodResponse));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MethodResponse);
  }


};
typedef _MethodResponseDispT<_MethodResponse> _MethodResponseDisp;

typedef TComInterface<IFieldInfo>  TCOMIFieldInfo;

// *********************************************************************//
// DispIntf:  IFieldInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CC18FD4D-AA2D-3AB4-9848-584BBAE4AB44}
// *********************************************************************//
template<class T>
class IFieldInfoDispT : public TAutoDriver<IFieldInfo>
{
public:
  IFieldInfoDispT(){}

  IFieldInfoDispT(IFieldInfo *pintf)
  {
    TAutoDriver<IFieldInfo>::Bind(pintf, false);
  }

  IFieldInfoDispT(IFieldInfoPtr pintf)
  {
    TAutoDriver<IFieldInfo>::Bind(pintf, true);
  }

  IFieldInfoDispT& operator=(IFieldInfo *pintf)
  {
    TAutoDriver<IFieldInfo>::Bind(pintf, false);
    return *this;
  }

  IFieldInfoDispT& operator=(IFieldInfoPtr pintf)
  {
    TAutoDriver<IFieldInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_FieldNames(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_FieldNames(void);
  HRESULT         __fastcall set_FieldNames(LPSAFEARRAY pRetVal/*[in]*/);
  HRESULT         __fastcall get_FieldTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_FieldTypes(void);
  HRESULT         __fastcall set_FieldTypes(LPSAFEARRAY pRetVal/*[in]*/);

};
typedef IFieldInfoDispT<IFieldInfo> IFieldInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_ConstructionResponse
// Interface: _ConstructionResponse
// *********************************************************************//
template <class T /* _ConstructionResponse */ >
class TCOM_ConstructionResponseT : public TComInterface<_ConstructionResponse>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ConstructionResponseT() {}
  TCOM_ConstructionResponseT(_ConstructionResponse *intf, bool addRef = false) : TComInterface<_ConstructionResponse>(intf, addRef) {}
  TCOM_ConstructionResponseT(const TCOM_ConstructionResponseT& src) : TComInterface<_ConstructionResponse>(src) {}
  TCOM_ConstructionResponseT& operator=(const TCOM_ConstructionResponseT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ConstructionResponseT<_ConstructionResponse> TCOM_ConstructionResponse;

// *********************************************************************//
// DispIntf:  _ConstructionResponse
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BE457280-6FFA-3E76-9822-83DE63C0C4E0}
// *********************************************************************//
template<class T>
class _ConstructionResponseDispT : public TAutoDriver<_ConstructionResponse>
{
public:
  _ConstructionResponseDispT(){}

  _ConstructionResponseDispT(_ConstructionResponse *pintf)
  {
    TAutoDriver<_ConstructionResponse>::Bind(pintf, false);
  }

  _ConstructionResponseDispT(_ConstructionResponsePtr pintf)
  {
    TAutoDriver<_ConstructionResponse>::Bind(pintf, true);
  }

  _ConstructionResponseDispT& operator=(_ConstructionResponse *pintf)
  {
    TAutoDriver<_ConstructionResponse>::Bind(pintf, false);
    return *this;
  }

  _ConstructionResponseDispT& operator=(_ConstructionResponsePtr pintf)
  {
    TAutoDriver<_ConstructionResponse>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ConstructionResponse));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ConstructionResponse);
  }


};
typedef _ConstructionResponseDispT<_ConstructionResponse> _ConstructionResponseDisp;

// *********************************************************************//
// SmartIntf: TCOM_InternalMessageWrapper
// Interface: _InternalMessageWrapper
// *********************************************************************//
template <class T /* _InternalMessageWrapper */ >
class TCOM_InternalMessageWrapperT : public TComInterface<_InternalMessageWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InternalMessageWrapperT() {}
  TCOM_InternalMessageWrapperT(_InternalMessageWrapper *intf, bool addRef = false) : TComInterface<_InternalMessageWrapper>(intf, addRef) {}
  TCOM_InternalMessageWrapperT(const TCOM_InternalMessageWrapperT& src) : TComInterface<_InternalMessageWrapper>(src) {}
  TCOM_InternalMessageWrapperT& operator=(const TCOM_InternalMessageWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InternalMessageWrapperT<_InternalMessageWrapper> TCOM_InternalMessageWrapper;

// *********************************************************************//
// DispIntf:  _InternalMessageWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EF926E1F-3EE7-32BC-8B01-C6E98C24BC19}
// *********************************************************************//
template<class T>
class _InternalMessageWrapperDispT : public TAutoDriver<_InternalMessageWrapper>
{
public:
  _InternalMessageWrapperDispT(){}

  _InternalMessageWrapperDispT(_InternalMessageWrapper *pintf)
  {
    TAutoDriver<_InternalMessageWrapper>::Bind(pintf, false);
  }

  _InternalMessageWrapperDispT(_InternalMessageWrapperPtr pintf)
  {
    TAutoDriver<_InternalMessageWrapper>::Bind(pintf, true);
  }

  _InternalMessageWrapperDispT& operator=(_InternalMessageWrapper *pintf)
  {
    TAutoDriver<_InternalMessageWrapper>::Bind(pintf, false);
    return *this;
  }

  _InternalMessageWrapperDispT& operator=(_InternalMessageWrapperPtr pintf)
  {
    TAutoDriver<_InternalMessageWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InternalMessageWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InternalMessageWrapper);
  }


};
typedef _InternalMessageWrapperDispT<_InternalMessageWrapper> _InternalMessageWrapperDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodCallMessageWrapper
// Interface: _MethodCallMessageWrapper
// *********************************************************************//
template <class T /* _MethodCallMessageWrapper */ >
class TCOM_MethodCallMessageWrapperT : public TComInterface<_MethodCallMessageWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodCallMessageWrapperT() {}
  TCOM_MethodCallMessageWrapperT(_MethodCallMessageWrapper *intf, bool addRef = false) : TComInterface<_MethodCallMessageWrapper>(intf, addRef) {}
  TCOM_MethodCallMessageWrapperT(const TCOM_MethodCallMessageWrapperT& src) : TComInterface<_MethodCallMessageWrapper>(src) {}
  TCOM_MethodCallMessageWrapperT& operator=(const TCOM_MethodCallMessageWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MethodCallMessageWrapperT<_MethodCallMessageWrapper> TCOM_MethodCallMessageWrapper;

// *********************************************************************//
// DispIntf:  _MethodCallMessageWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C9614D78-10EA-3310-87EA-821B70632898}
// *********************************************************************//
template<class T>
class _MethodCallMessageWrapperDispT : public TAutoDriver<_MethodCallMessageWrapper>
{
public:
  _MethodCallMessageWrapperDispT(){}

  _MethodCallMessageWrapperDispT(_MethodCallMessageWrapper *pintf)
  {
    TAutoDriver<_MethodCallMessageWrapper>::Bind(pintf, false);
  }

  _MethodCallMessageWrapperDispT(_MethodCallMessageWrapperPtr pintf)
  {
    TAutoDriver<_MethodCallMessageWrapper>::Bind(pintf, true);
  }

  _MethodCallMessageWrapperDispT& operator=(_MethodCallMessageWrapper *pintf)
  {
    TAutoDriver<_MethodCallMessageWrapper>::Bind(pintf, false);
    return *this;
  }

  _MethodCallMessageWrapperDispT& operator=(_MethodCallMessageWrapperPtr pintf)
  {
    TAutoDriver<_MethodCallMessageWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MethodCallMessageWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MethodCallMessageWrapper);
  }


};
typedef _MethodCallMessageWrapperDispT<_MethodCallMessageWrapper> _MethodCallMessageWrapperDisp;

// *********************************************************************//
// SmartIntf: TCOM_MethodReturnMessageWrapper
// Interface: _MethodReturnMessageWrapper
// *********************************************************************//
template <class T /* _MethodReturnMessageWrapper */ >
class TCOM_MethodReturnMessageWrapperT : public TComInterface<_MethodReturnMessageWrapper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodReturnMessageWrapperT() {}
  TCOM_MethodReturnMessageWrapperT(_MethodReturnMessageWrapper *intf, bool addRef = false) : TComInterface<_MethodReturnMessageWrapper>(intf, addRef) {}
  TCOM_MethodReturnMessageWrapperT(const TCOM_MethodReturnMessageWrapperT& src) : TComInterface<_MethodReturnMessageWrapper>(src) {}
  TCOM_MethodReturnMessageWrapperT& operator=(const TCOM_MethodReturnMessageWrapperT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MethodReturnMessageWrapperT<_MethodReturnMessageWrapper> TCOM_MethodReturnMessageWrapper;

// *********************************************************************//
// DispIntf:  _MethodReturnMessageWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {89304439-A24F-30F6-9A8F-89CE472D85DA}
// *********************************************************************//
template<class T>
class _MethodReturnMessageWrapperDispT : public TAutoDriver<_MethodReturnMessageWrapper>
{
public:
  _MethodReturnMessageWrapperDispT(){}

  _MethodReturnMessageWrapperDispT(_MethodReturnMessageWrapper *pintf)
  {
    TAutoDriver<_MethodReturnMessageWrapper>::Bind(pintf, false);
  }

  _MethodReturnMessageWrapperDispT(_MethodReturnMessageWrapperPtr pintf)
  {
    TAutoDriver<_MethodReturnMessageWrapper>::Bind(pintf, true);
  }

  _MethodReturnMessageWrapperDispT& operator=(_MethodReturnMessageWrapper *pintf)
  {
    TAutoDriver<_MethodReturnMessageWrapper>::Bind(pintf, false);
    return *this;
  }

  _MethodReturnMessageWrapperDispT& operator=(_MethodReturnMessageWrapperPtr pintf)
  {
    TAutoDriver<_MethodReturnMessageWrapper>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MethodReturnMessageWrapper));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MethodReturnMessageWrapper);
  }


};
typedef _MethodReturnMessageWrapperDispT<_MethodReturnMessageWrapper> _MethodReturnMessageWrapperDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObjectHandle
// Interface: _ObjectHandle
// *********************************************************************//
template <class T /* _ObjectHandle */ >
class TCOM_ObjectHandleT : public TComInterface<_ObjectHandle>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObjectHandleT() {}
  TCOM_ObjectHandleT(_ObjectHandle *intf, bool addRef = false) : TComInterface<_ObjectHandle>(intf, addRef) {}
  TCOM_ObjectHandleT(const TCOM_ObjectHandleT& src) : TComInterface<_ObjectHandle>(src) {}
  TCOM_ObjectHandleT& operator=(const TCOM_ObjectHandleT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall GetLifetimeService(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetLifetimeService(void);
  HRESULT         __fastcall InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall InitializeLifetimeService(void);
  HRESULT         __fastcall CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/, 
                                          Mscorlib_tlb::_ObjRefPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjRefPtr __fastcall CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/);
  HRESULT         __fastcall Unwrap(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Unwrap(void);

  __property   BSTR            ToString = {read = get_ToString};
};
typedef TCOM_ObjectHandleT<_ObjectHandle> TCOM_ObjectHandle;

// *********************************************************************//
// DispIntf:  _ObjectHandle
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {EA675B47-64E0-3B5F-9BE7-F7DC2990730D}
// *********************************************************************//
template<class T>
class _ObjectHandleDispT : public TAutoDriver<_ObjectHandle>
{
public:
  _ObjectHandleDispT(){}

  _ObjectHandleDispT(_ObjectHandle *pintf)
  {
    TAutoDriver<_ObjectHandle>::Bind(pintf, false);
  }

  _ObjectHandleDispT(_ObjectHandlePtr pintf)
  {
    TAutoDriver<_ObjectHandle>::Bind(pintf, true);
  }

  _ObjectHandleDispT& operator=(_ObjectHandle *pintf)
  {
    TAutoDriver<_ObjectHandle>::Bind(pintf, false);
    return *this;
  }

  _ObjectHandleDispT& operator=(_ObjectHandlePtr pintf)
  {
    TAutoDriver<_ObjectHandle>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObjectHandle));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObjectHandle);
  }

  HRESULT         __fastcall get_ToString(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_ToString(void);
  HRESULT         __fastcall Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall Equals(TVariantInParam obj/*[in]*/);
  HRESULT         __fastcall GetHashCode(long* pRetVal/*[out,retval]*/);
  long            __fastcall GetHashCode(void);
  HRESULT         __fastcall GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_TypePtr __fastcall GetType(void);
  HRESULT         __fastcall GetLifetimeService(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall GetLifetimeService(void);
  HRESULT         __fastcall InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall InitializeLifetimeService(void);
  HRESULT         __fastcall CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/, 
                                          Mscorlib_tlb::_ObjRefPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_ObjRefPtr __fastcall CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/);
  HRESULT         __fastcall Unwrap(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Unwrap(void);

  __property   BSTR            ToString = {read = get_ToString};
};
typedef _ObjectHandleDispT<_ObjectHandle> _ObjectHandleDisp;

typedef TComInterface<IRemotingTypeInfo>  TCOMIRemotingTypeInfo;

// *********************************************************************//
// DispIntf:  IRemotingTypeInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C09EFFA9-1FFE-3A52-A733-6236CBC45E7B}
// *********************************************************************//
template<class T>
class IRemotingTypeInfoDispT : public TAutoDriver<IRemotingTypeInfo>
{
public:
  IRemotingTypeInfoDispT(){}

  IRemotingTypeInfoDispT(IRemotingTypeInfo *pintf)
  {
    TAutoDriver<IRemotingTypeInfo>::Bind(pintf, false);
  }

  IRemotingTypeInfoDispT(IRemotingTypeInfoPtr pintf)
  {
    TAutoDriver<IRemotingTypeInfo>::Bind(pintf, true);
  }

  IRemotingTypeInfoDispT& operator=(IRemotingTypeInfo *pintf)
  {
    TAutoDriver<IRemotingTypeInfo>::Bind(pintf, false);
    return *this;
  }

  IRemotingTypeInfoDispT& operator=(IRemotingTypeInfoPtr pintf)
  {
    TAutoDriver<IRemotingTypeInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_typeName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_typeName(void);
  HRESULT         __fastcall set_typeName(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall CanCastTo(Mscorlib_tlb::_TypePtr fromType/*[in]*/, 
                                       TVariantInParam o/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall CanCastTo(Mscorlib_tlb::_TypePtr fromType/*[in]*/, 
                                       TVariantInParam o/*[in]*/);

  __property   BSTR            typeName = {read = get_typeName, write = set_typeName};
};
typedef IRemotingTypeInfoDispT<IRemotingTypeInfo> IRemotingTypeInfoDisp;

typedef TComInterface<IChannelInfo>  TCOMIChannelInfo;

// *********************************************************************//
// DispIntf:  IChannelInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {855E6566-014A-3FE8-AA70-1EAC771E3A88}
// *********************************************************************//
template<class T>
class IChannelInfoDispT : public TAutoDriver<IChannelInfo>
{
public:
  IChannelInfoDispT(){}

  IChannelInfoDispT(IChannelInfo *pintf)
  {
    TAutoDriver<IChannelInfo>::Bind(pintf, false);
  }

  IChannelInfoDispT(IChannelInfoPtr pintf)
  {
    TAutoDriver<IChannelInfo>::Bind(pintf, true);
  }

  IChannelInfoDispT& operator=(IChannelInfo *pintf)
  {
    TAutoDriver<IChannelInfo>::Bind(pintf, false);
    return *this;
  }

  IChannelInfoDispT& operator=(IChannelInfoPtr pintf)
  {
    TAutoDriver<IChannelInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ChannelData(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_ChannelData(void);
  HRESULT         __fastcall set_ChannelData(LPSAFEARRAY pRetVal/*[in]*/);

};
typedef IChannelInfoDispT<IChannelInfo> IChannelInfoDisp;

typedef TComInterface<IEnvoyInfo>  TCOMIEnvoyInfo;

// *********************************************************************//
// DispIntf:  IEnvoyInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {2A6E91B9-A874-38E4-99C2-C5D83D78140D}
// *********************************************************************//
template<class T>
class IEnvoyInfoDispT : public TAutoDriver<IEnvoyInfo>
{
public:
  IEnvoyInfoDispT(){}

  IEnvoyInfoDispT(IEnvoyInfo *pintf)
  {
    TAutoDriver<IEnvoyInfo>::Bind(pintf, false);
  }

  IEnvoyInfoDispT(IEnvoyInfoPtr pintf)
  {
    TAutoDriver<IEnvoyInfo>::Bind(pintf, true);
  }

  IEnvoyInfoDispT& operator=(IEnvoyInfo *pintf)
  {
    TAutoDriver<IEnvoyInfo>::Bind(pintf, false);
    return *this;
  }

  IEnvoyInfoDispT& operator=(IEnvoyInfoPtr pintf)
  {
    TAutoDriver<IEnvoyInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_EnvoySinks(Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::IMessageSinkPtr __fastcall get_EnvoySinks(void);
  HRESULT         __fastcall _set_EnvoySinks(Mscorlib_tlb::IMessageSinkPtr pRetVal/*[in]*/);

  __property   Mscorlib_tlb::IMessageSinkPtr EnvoySinks = {read = get_EnvoySinks, write = _set_EnvoySinks};
};
typedef IEnvoyInfoDispT<IEnvoyInfo> IEnvoyInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_ObjRef
// Interface: _ObjRef
// *********************************************************************//
template <class T /* _ObjRef */ >
class TCOM_ObjRefT : public TComInterface<_ObjRef>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ObjRefT() {}
  TCOM_ObjRefT(_ObjRef *intf, bool addRef = false) : TComInterface<_ObjRef>(intf, addRef) {}
  TCOM_ObjRefT(const TCOM_ObjRefT& src) : TComInterface<_ObjRef>(src) {}
  TCOM_ObjRefT& operator=(const TCOM_ObjRefT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ObjRefT<_ObjRef> TCOM_ObjRef;

// *********************************************************************//
// DispIntf:  _ObjRef
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1DD3CF3D-DF8E-32FF-91EC-E19AA10B63FB}
// *********************************************************************//
template<class T>
class _ObjRefDispT : public TAutoDriver<_ObjRef>
{
public:
  _ObjRefDispT(){}

  _ObjRefDispT(_ObjRef *pintf)
  {
    TAutoDriver<_ObjRef>::Bind(pintf, false);
  }

  _ObjRefDispT(_ObjRefPtr pintf)
  {
    TAutoDriver<_ObjRef>::Bind(pintf, true);
  }

  _ObjRefDispT& operator=(_ObjRef *pintf)
  {
    TAutoDriver<_ObjRef>::Bind(pintf, false);
    return *this;
  }

  _ObjRefDispT& operator=(_ObjRefPtr pintf)
  {
    TAutoDriver<_ObjRef>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ObjRef));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ObjRef);
  }


};
typedef _ObjRefDispT<_ObjRef> _ObjRefDisp;

// *********************************************************************//
// SmartIntf: TCOM_OneWayAttribute
// Interface: _OneWayAttribute
// *********************************************************************//
template <class T /* _OneWayAttribute */ >
class TCOM_OneWayAttributeT : public TComInterface<_OneWayAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OneWayAttributeT() {}
  TCOM_OneWayAttributeT(_OneWayAttribute *intf, bool addRef = false) : TComInterface<_OneWayAttribute>(intf, addRef) {}
  TCOM_OneWayAttributeT(const TCOM_OneWayAttributeT& src) : TComInterface<_OneWayAttribute>(src) {}
  TCOM_OneWayAttributeT& operator=(const TCOM_OneWayAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OneWayAttributeT<_OneWayAttribute> TCOM_OneWayAttribute;

// *********************************************************************//
// DispIntf:  _OneWayAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8FFEDC68-5233-3FA8-813D-405AABB33ECB}
// *********************************************************************//
template<class T>
class _OneWayAttributeDispT : public TAutoDriver<_OneWayAttribute>
{
public:
  _OneWayAttributeDispT(){}

  _OneWayAttributeDispT(_OneWayAttribute *pintf)
  {
    TAutoDriver<_OneWayAttribute>::Bind(pintf, false);
  }

  _OneWayAttributeDispT(_OneWayAttributePtr pintf)
  {
    TAutoDriver<_OneWayAttribute>::Bind(pintf, true);
  }

  _OneWayAttributeDispT& operator=(_OneWayAttribute *pintf)
  {
    TAutoDriver<_OneWayAttribute>::Bind(pintf, false);
    return *this;
  }

  _OneWayAttributeDispT& operator=(_OneWayAttributePtr pintf)
  {
    TAutoDriver<_OneWayAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OneWayAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OneWayAttribute);
  }


};
typedef _OneWayAttributeDispT<_OneWayAttribute> _OneWayAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_ProxyAttribute
// Interface: _ProxyAttribute
// *********************************************************************//
template <class T /* _ProxyAttribute */ >
class TCOM_ProxyAttributeT : public TComInterface<_ProxyAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ProxyAttributeT() {}
  TCOM_ProxyAttributeT(_ProxyAttribute *intf, bool addRef = false) : TComInterface<_ProxyAttribute>(intf, addRef) {}
  TCOM_ProxyAttributeT(const TCOM_ProxyAttributeT& src) : TComInterface<_ProxyAttribute>(src) {}
  TCOM_ProxyAttributeT& operator=(const TCOM_ProxyAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ProxyAttributeT<_ProxyAttribute> TCOM_ProxyAttribute;

// *********************************************************************//
// DispIntf:  _ProxyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D80FF312-2930-3680-A5E9-B48296C7415F}
// *********************************************************************//
template<class T>
class _ProxyAttributeDispT : public TAutoDriver<_ProxyAttribute>
{
public:
  _ProxyAttributeDispT(){}

  _ProxyAttributeDispT(_ProxyAttribute *pintf)
  {
    TAutoDriver<_ProxyAttribute>::Bind(pintf, false);
  }

  _ProxyAttributeDispT(_ProxyAttributePtr pintf)
  {
    TAutoDriver<_ProxyAttribute>::Bind(pintf, true);
  }

  _ProxyAttributeDispT& operator=(_ProxyAttribute *pintf)
  {
    TAutoDriver<_ProxyAttribute>::Bind(pintf, false);
    return *this;
  }

  _ProxyAttributeDispT& operator=(_ProxyAttributePtr pintf)
  {
    TAutoDriver<_ProxyAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ProxyAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ProxyAttribute);
  }


};
typedef _ProxyAttributeDispT<_ProxyAttribute> _ProxyAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_RealProxy
// Interface: _RealProxy
// *********************************************************************//
template <class T /* _RealProxy */ >
class TCOM_RealProxyT : public TComInterface<_RealProxy>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RealProxyT() {}
  TCOM_RealProxyT(_RealProxy *intf, bool addRef = false) : TComInterface<_RealProxy>(intf, addRef) {}
  TCOM_RealProxyT(const TCOM_RealProxyT& src) : TComInterface<_RealProxy>(src) {}
  TCOM_RealProxyT& operator=(const TCOM_RealProxyT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RealProxyT<_RealProxy> TCOM_RealProxy;

// *********************************************************************//
// DispIntf:  _RealProxy
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E0CF3F77-C7C3-33DA-BEB4-46147FC905DE}
// *********************************************************************//
template<class T>
class _RealProxyDispT : public TAutoDriver<_RealProxy>
{
public:
  _RealProxyDispT(){}

  _RealProxyDispT(_RealProxy *pintf)
  {
    TAutoDriver<_RealProxy>::Bind(pintf, false);
  }

  _RealProxyDispT(_RealProxyPtr pintf)
  {
    TAutoDriver<_RealProxy>::Bind(pintf, true);
  }

  _RealProxyDispT& operator=(_RealProxy *pintf)
  {
    TAutoDriver<_RealProxy>::Bind(pintf, false);
    return *this;
  }

  _RealProxyDispT& operator=(_RealProxyPtr pintf)
  {
    TAutoDriver<_RealProxy>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RealProxy));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RealProxy);
  }


};
typedef _RealProxyDispT<_RealProxy> _RealProxyDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapAttribute
// Interface: _SoapAttribute
// *********************************************************************//
template <class T /* _SoapAttribute */ >
class TCOM_SoapAttributeT : public TComInterface<_SoapAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapAttributeT() {}
  TCOM_SoapAttributeT(_SoapAttribute *intf, bool addRef = false) : TComInterface<_SoapAttribute>(intf, addRef) {}
  TCOM_SoapAttributeT(const TCOM_SoapAttributeT& src) : TComInterface<_SoapAttribute>(src) {}
  TCOM_SoapAttributeT& operator=(const TCOM_SoapAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapAttributeT<_SoapAttribute> TCOM_SoapAttribute;

// *********************************************************************//
// DispIntf:  _SoapAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {725692A5-9E12-37F6-911C-E3DA77E5FACA}
// *********************************************************************//
template<class T>
class _SoapAttributeDispT : public TAutoDriver<_SoapAttribute>
{
public:
  _SoapAttributeDispT(){}

  _SoapAttributeDispT(_SoapAttribute *pintf)
  {
    TAutoDriver<_SoapAttribute>::Bind(pintf, false);
  }

  _SoapAttributeDispT(_SoapAttributePtr pintf)
  {
    TAutoDriver<_SoapAttribute>::Bind(pintf, true);
  }

  _SoapAttributeDispT& operator=(_SoapAttribute *pintf)
  {
    TAutoDriver<_SoapAttribute>::Bind(pintf, false);
    return *this;
  }

  _SoapAttributeDispT& operator=(_SoapAttributePtr pintf)
  {
    TAutoDriver<_SoapAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapAttribute);
  }


};
typedef _SoapAttributeDispT<_SoapAttribute> _SoapAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapTypeAttribute
// Interface: _SoapTypeAttribute
// *********************************************************************//
template <class T /* _SoapTypeAttribute */ >
class TCOM_SoapTypeAttributeT : public TComInterface<_SoapTypeAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapTypeAttributeT() {}
  TCOM_SoapTypeAttributeT(_SoapTypeAttribute *intf, bool addRef = false) : TComInterface<_SoapTypeAttribute>(intf, addRef) {}
  TCOM_SoapTypeAttributeT(const TCOM_SoapTypeAttributeT& src) : TComInterface<_SoapTypeAttribute>(src) {}
  TCOM_SoapTypeAttributeT& operator=(const TCOM_SoapTypeAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapTypeAttributeT<_SoapTypeAttribute> TCOM_SoapTypeAttribute;

// *********************************************************************//
// DispIntf:  _SoapTypeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EBCDCD84-8C74-39FD-821C-F5EB3A2704D7}
// *********************************************************************//
template<class T>
class _SoapTypeAttributeDispT : public TAutoDriver<_SoapTypeAttribute>
{
public:
  _SoapTypeAttributeDispT(){}

  _SoapTypeAttributeDispT(_SoapTypeAttribute *pintf)
  {
    TAutoDriver<_SoapTypeAttribute>::Bind(pintf, false);
  }

  _SoapTypeAttributeDispT(_SoapTypeAttributePtr pintf)
  {
    TAutoDriver<_SoapTypeAttribute>::Bind(pintf, true);
  }

  _SoapTypeAttributeDispT& operator=(_SoapTypeAttribute *pintf)
  {
    TAutoDriver<_SoapTypeAttribute>::Bind(pintf, false);
    return *this;
  }

  _SoapTypeAttributeDispT& operator=(_SoapTypeAttributePtr pintf)
  {
    TAutoDriver<_SoapTypeAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapTypeAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapTypeAttribute);
  }


};
typedef _SoapTypeAttributeDispT<_SoapTypeAttribute> _SoapTypeAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapMethodAttribute
// Interface: _SoapMethodAttribute
// *********************************************************************//
template <class T /* _SoapMethodAttribute */ >
class TCOM_SoapMethodAttributeT : public TComInterface<_SoapMethodAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapMethodAttributeT() {}
  TCOM_SoapMethodAttributeT(_SoapMethodAttribute *intf, bool addRef = false) : TComInterface<_SoapMethodAttribute>(intf, addRef) {}
  TCOM_SoapMethodAttributeT(const TCOM_SoapMethodAttributeT& src) : TComInterface<_SoapMethodAttribute>(src) {}
  TCOM_SoapMethodAttributeT& operator=(const TCOM_SoapMethodAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapMethodAttributeT<_SoapMethodAttribute> TCOM_SoapMethodAttribute;

// *********************************************************************//
// DispIntf:  _SoapMethodAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C58145B5-BD5A-3896-95D9-B358F54FBC44}
// *********************************************************************//
template<class T>
class _SoapMethodAttributeDispT : public TAutoDriver<_SoapMethodAttribute>
{
public:
  _SoapMethodAttributeDispT(){}

  _SoapMethodAttributeDispT(_SoapMethodAttribute *pintf)
  {
    TAutoDriver<_SoapMethodAttribute>::Bind(pintf, false);
  }

  _SoapMethodAttributeDispT(_SoapMethodAttributePtr pintf)
  {
    TAutoDriver<_SoapMethodAttribute>::Bind(pintf, true);
  }

  _SoapMethodAttributeDispT& operator=(_SoapMethodAttribute *pintf)
  {
    TAutoDriver<_SoapMethodAttribute>::Bind(pintf, false);
    return *this;
  }

  _SoapMethodAttributeDispT& operator=(_SoapMethodAttributePtr pintf)
  {
    TAutoDriver<_SoapMethodAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapMethodAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapMethodAttribute);
  }


};
typedef _SoapMethodAttributeDispT<_SoapMethodAttribute> _SoapMethodAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapFieldAttribute
// Interface: _SoapFieldAttribute
// *********************************************************************//
template <class T /* _SoapFieldAttribute */ >
class TCOM_SoapFieldAttributeT : public TComInterface<_SoapFieldAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapFieldAttributeT() {}
  TCOM_SoapFieldAttributeT(_SoapFieldAttribute *intf, bool addRef = false) : TComInterface<_SoapFieldAttribute>(intf, addRef) {}
  TCOM_SoapFieldAttributeT(const TCOM_SoapFieldAttributeT& src) : TComInterface<_SoapFieldAttribute>(src) {}
  TCOM_SoapFieldAttributeT& operator=(const TCOM_SoapFieldAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapFieldAttributeT<_SoapFieldAttribute> TCOM_SoapFieldAttribute;

// *********************************************************************//
// DispIntf:  _SoapFieldAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {46A3F9FF-F73C-33C7-BCC3-1BEF4B25E4AE}
// *********************************************************************//
template<class T>
class _SoapFieldAttributeDispT : public TAutoDriver<_SoapFieldAttribute>
{
public:
  _SoapFieldAttributeDispT(){}

  _SoapFieldAttributeDispT(_SoapFieldAttribute *pintf)
  {
    TAutoDriver<_SoapFieldAttribute>::Bind(pintf, false);
  }

  _SoapFieldAttributeDispT(_SoapFieldAttributePtr pintf)
  {
    TAutoDriver<_SoapFieldAttribute>::Bind(pintf, true);
  }

  _SoapFieldAttributeDispT& operator=(_SoapFieldAttribute *pintf)
  {
    TAutoDriver<_SoapFieldAttribute>::Bind(pintf, false);
    return *this;
  }

  _SoapFieldAttributeDispT& operator=(_SoapFieldAttributePtr pintf)
  {
    TAutoDriver<_SoapFieldAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapFieldAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapFieldAttribute);
  }


};
typedef _SoapFieldAttributeDispT<_SoapFieldAttribute> _SoapFieldAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapParameterAttribute
// Interface: _SoapParameterAttribute
// *********************************************************************//
template <class T /* _SoapParameterAttribute */ >
class TCOM_SoapParameterAttributeT : public TComInterface<_SoapParameterAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapParameterAttributeT() {}
  TCOM_SoapParameterAttributeT(_SoapParameterAttribute *intf, bool addRef = false) : TComInterface<_SoapParameterAttribute>(intf, addRef) {}
  TCOM_SoapParameterAttributeT(const TCOM_SoapParameterAttributeT& src) : TComInterface<_SoapParameterAttribute>(src) {}
  TCOM_SoapParameterAttributeT& operator=(const TCOM_SoapParameterAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapParameterAttributeT<_SoapParameterAttribute> TCOM_SoapParameterAttribute;

// *********************************************************************//
// DispIntf:  _SoapParameterAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C32ABFC9-3917-30BF-A7BC-44250BDFC5D8}
// *********************************************************************//
template<class T>
class _SoapParameterAttributeDispT : public TAutoDriver<_SoapParameterAttribute>
{
public:
  _SoapParameterAttributeDispT(){}

  _SoapParameterAttributeDispT(_SoapParameterAttribute *pintf)
  {
    TAutoDriver<_SoapParameterAttribute>::Bind(pintf, false);
  }

  _SoapParameterAttributeDispT(_SoapParameterAttributePtr pintf)
  {
    TAutoDriver<_SoapParameterAttribute>::Bind(pintf, true);
  }

  _SoapParameterAttributeDispT& operator=(_SoapParameterAttribute *pintf)
  {
    TAutoDriver<_SoapParameterAttribute>::Bind(pintf, false);
    return *this;
  }

  _SoapParameterAttributeDispT& operator=(_SoapParameterAttributePtr pintf)
  {
    TAutoDriver<_SoapParameterAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapParameterAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapParameterAttribute);
  }


};
typedef _SoapParameterAttributeDispT<_SoapParameterAttribute> _SoapParameterAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_RemotingConfiguration
// Interface: _RemotingConfiguration
// *********************************************************************//
template <class T /* _RemotingConfiguration */ >
class TCOM_RemotingConfigurationT : public TComInterface<_RemotingConfiguration>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RemotingConfigurationT() {}
  TCOM_RemotingConfigurationT(_RemotingConfiguration *intf, bool addRef = false) : TComInterface<_RemotingConfiguration>(intf, addRef) {}
  TCOM_RemotingConfigurationT(const TCOM_RemotingConfigurationT& src) : TComInterface<_RemotingConfiguration>(src) {}
  TCOM_RemotingConfigurationT& operator=(const TCOM_RemotingConfigurationT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RemotingConfigurationT<_RemotingConfiguration> TCOM_RemotingConfiguration;

// *********************************************************************//
// DispIntf:  _RemotingConfiguration
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4B10971E-D61D-373F-BC8D-2CCF31126215}
// *********************************************************************//
template<class T>
class _RemotingConfigurationDispT : public TAutoDriver<_RemotingConfiguration>
{
public:
  _RemotingConfigurationDispT(){}

  _RemotingConfigurationDispT(_RemotingConfiguration *pintf)
  {
    TAutoDriver<_RemotingConfiguration>::Bind(pintf, false);
  }

  _RemotingConfigurationDispT(_RemotingConfigurationPtr pintf)
  {
    TAutoDriver<_RemotingConfiguration>::Bind(pintf, true);
  }

  _RemotingConfigurationDispT& operator=(_RemotingConfiguration *pintf)
  {
    TAutoDriver<_RemotingConfiguration>::Bind(pintf, false);
    return *this;
  }

  _RemotingConfigurationDispT& operator=(_RemotingConfigurationPtr pintf)
  {
    TAutoDriver<_RemotingConfiguration>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RemotingConfiguration));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RemotingConfiguration);
  }


};
typedef _RemotingConfigurationDispT<_RemotingConfiguration> _RemotingConfigurationDisp;

// *********************************************************************//
// SmartIntf: TCOM_TypeEntry
// Interface: _TypeEntry
// *********************************************************************//
template <class T /* _TypeEntry */ >
class TCOM_TypeEntryT : public TComInterface<_TypeEntry>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeEntryT() {}
  TCOM_TypeEntryT(_TypeEntry *intf, bool addRef = false) : TComInterface<_TypeEntry>(intf, addRef) {}
  TCOM_TypeEntryT(const TCOM_TypeEntryT& src) : TComInterface<_TypeEntry>(src) {}
  TCOM_TypeEntryT& operator=(const TCOM_TypeEntryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TypeEntryT<_TypeEntry> TCOM_TypeEntry;

// *********************************************************************//
// DispIntf:  _TypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8359F3AB-643F-3BCF-91E8-16E779EDEBE1}
// *********************************************************************//
template<class T>
class _TypeEntryDispT : public TAutoDriver<_TypeEntry>
{
public:
  _TypeEntryDispT(){}

  _TypeEntryDispT(_TypeEntry *pintf)
  {
    TAutoDriver<_TypeEntry>::Bind(pintf, false);
  }

  _TypeEntryDispT(_TypeEntryPtr pintf)
  {
    TAutoDriver<_TypeEntry>::Bind(pintf, true);
  }

  _TypeEntryDispT& operator=(_TypeEntry *pintf)
  {
    TAutoDriver<_TypeEntry>::Bind(pintf, false);
    return *this;
  }

  _TypeEntryDispT& operator=(_TypeEntryPtr pintf)
  {
    TAutoDriver<_TypeEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TypeEntry));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TypeEntry);
  }


};
typedef _TypeEntryDispT<_TypeEntry> _TypeEntryDisp;

// *********************************************************************//
// SmartIntf: TCOM_ActivatedClientTypeEntry
// Interface: _ActivatedClientTypeEntry
// *********************************************************************//
template <class T /* _ActivatedClientTypeEntry */ >
class TCOM_ActivatedClientTypeEntryT : public TComInterface<_ActivatedClientTypeEntry>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ActivatedClientTypeEntryT() {}
  TCOM_ActivatedClientTypeEntryT(_ActivatedClientTypeEntry *intf, bool addRef = false) : TComInterface<_ActivatedClientTypeEntry>(intf, addRef) {}
  TCOM_ActivatedClientTypeEntryT(const TCOM_ActivatedClientTypeEntryT& src) : TComInterface<_ActivatedClientTypeEntry>(src) {}
  TCOM_ActivatedClientTypeEntryT& operator=(const TCOM_ActivatedClientTypeEntryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ActivatedClientTypeEntryT<_ActivatedClientTypeEntry> TCOM_ActivatedClientTypeEntry;

// *********************************************************************//
// DispIntf:  _ActivatedClientTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BAC12781-6865-3558-A8D1-F1CADD2806DD}
// *********************************************************************//
template<class T>
class _ActivatedClientTypeEntryDispT : public TAutoDriver<_ActivatedClientTypeEntry>
{
public:
  _ActivatedClientTypeEntryDispT(){}

  _ActivatedClientTypeEntryDispT(_ActivatedClientTypeEntry *pintf)
  {
    TAutoDriver<_ActivatedClientTypeEntry>::Bind(pintf, false);
  }

  _ActivatedClientTypeEntryDispT(_ActivatedClientTypeEntryPtr pintf)
  {
    TAutoDriver<_ActivatedClientTypeEntry>::Bind(pintf, true);
  }

  _ActivatedClientTypeEntryDispT& operator=(_ActivatedClientTypeEntry *pintf)
  {
    TAutoDriver<_ActivatedClientTypeEntry>::Bind(pintf, false);
    return *this;
  }

  _ActivatedClientTypeEntryDispT& operator=(_ActivatedClientTypeEntryPtr pintf)
  {
    TAutoDriver<_ActivatedClientTypeEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ActivatedClientTypeEntry));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ActivatedClientTypeEntry);
  }


};
typedef _ActivatedClientTypeEntryDispT<_ActivatedClientTypeEntry> _ActivatedClientTypeEntryDisp;

// *********************************************************************//
// SmartIntf: TCOM_ActivatedServiceTypeEntry
// Interface: _ActivatedServiceTypeEntry
// *********************************************************************//
template <class T /* _ActivatedServiceTypeEntry */ >
class TCOM_ActivatedServiceTypeEntryT : public TComInterface<_ActivatedServiceTypeEntry>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ActivatedServiceTypeEntryT() {}
  TCOM_ActivatedServiceTypeEntryT(_ActivatedServiceTypeEntry *intf, bool addRef = false) : TComInterface<_ActivatedServiceTypeEntry>(intf, addRef) {}
  TCOM_ActivatedServiceTypeEntryT(const TCOM_ActivatedServiceTypeEntryT& src) : TComInterface<_ActivatedServiceTypeEntry>(src) {}
  TCOM_ActivatedServiceTypeEntryT& operator=(const TCOM_ActivatedServiceTypeEntryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ActivatedServiceTypeEntryT<_ActivatedServiceTypeEntry> TCOM_ActivatedServiceTypeEntry;

// *********************************************************************//
// DispIntf:  _ActivatedServiceTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {94855A3B-5CA2-32CF-B1AB-48FD3915822C}
// *********************************************************************//
template<class T>
class _ActivatedServiceTypeEntryDispT : public TAutoDriver<_ActivatedServiceTypeEntry>
{
public:
  _ActivatedServiceTypeEntryDispT(){}

  _ActivatedServiceTypeEntryDispT(_ActivatedServiceTypeEntry *pintf)
  {
    TAutoDriver<_ActivatedServiceTypeEntry>::Bind(pintf, false);
  }

  _ActivatedServiceTypeEntryDispT(_ActivatedServiceTypeEntryPtr pintf)
  {
    TAutoDriver<_ActivatedServiceTypeEntry>::Bind(pintf, true);
  }

  _ActivatedServiceTypeEntryDispT& operator=(_ActivatedServiceTypeEntry *pintf)
  {
    TAutoDriver<_ActivatedServiceTypeEntry>::Bind(pintf, false);
    return *this;
  }

  _ActivatedServiceTypeEntryDispT& operator=(_ActivatedServiceTypeEntryPtr pintf)
  {
    TAutoDriver<_ActivatedServiceTypeEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ActivatedServiceTypeEntry));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ActivatedServiceTypeEntry);
  }


};
typedef _ActivatedServiceTypeEntryDispT<_ActivatedServiceTypeEntry> _ActivatedServiceTypeEntryDisp;

// *********************************************************************//
// SmartIntf: TCOM_WellKnownClientTypeEntry
// Interface: _WellKnownClientTypeEntry
// *********************************************************************//
template <class T /* _WellKnownClientTypeEntry */ >
class TCOM_WellKnownClientTypeEntryT : public TComInterface<_WellKnownClientTypeEntry>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WellKnownClientTypeEntryT() {}
  TCOM_WellKnownClientTypeEntryT(_WellKnownClientTypeEntry *intf, bool addRef = false) : TComInterface<_WellKnownClientTypeEntry>(intf, addRef) {}
  TCOM_WellKnownClientTypeEntryT(const TCOM_WellKnownClientTypeEntryT& src) : TComInterface<_WellKnownClientTypeEntry>(src) {}
  TCOM_WellKnownClientTypeEntryT& operator=(const TCOM_WellKnownClientTypeEntryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WellKnownClientTypeEntryT<_WellKnownClientTypeEntry> TCOM_WellKnownClientTypeEntry;

// *********************************************************************//
// DispIntf:  _WellKnownClientTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4D0BC339-E3F9-3E9E-8F68-92168E6F6981}
// *********************************************************************//
template<class T>
class _WellKnownClientTypeEntryDispT : public TAutoDriver<_WellKnownClientTypeEntry>
{
public:
  _WellKnownClientTypeEntryDispT(){}

  _WellKnownClientTypeEntryDispT(_WellKnownClientTypeEntry *pintf)
  {
    TAutoDriver<_WellKnownClientTypeEntry>::Bind(pintf, false);
  }

  _WellKnownClientTypeEntryDispT(_WellKnownClientTypeEntryPtr pintf)
  {
    TAutoDriver<_WellKnownClientTypeEntry>::Bind(pintf, true);
  }

  _WellKnownClientTypeEntryDispT& operator=(_WellKnownClientTypeEntry *pintf)
  {
    TAutoDriver<_WellKnownClientTypeEntry>::Bind(pintf, false);
    return *this;
  }

  _WellKnownClientTypeEntryDispT& operator=(_WellKnownClientTypeEntryPtr pintf)
  {
    TAutoDriver<_WellKnownClientTypeEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WellKnownClientTypeEntry));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WellKnownClientTypeEntry);
  }


};
typedef _WellKnownClientTypeEntryDispT<_WellKnownClientTypeEntry> _WellKnownClientTypeEntryDisp;

// *********************************************************************//
// SmartIntf: TCOM_WellKnownServiceTypeEntry
// Interface: _WellKnownServiceTypeEntry
// *********************************************************************//
template <class T /* _WellKnownServiceTypeEntry */ >
class TCOM_WellKnownServiceTypeEntryT : public TComInterface<_WellKnownServiceTypeEntry>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_WellKnownServiceTypeEntryT() {}
  TCOM_WellKnownServiceTypeEntryT(_WellKnownServiceTypeEntry *intf, bool addRef = false) : TComInterface<_WellKnownServiceTypeEntry>(intf, addRef) {}
  TCOM_WellKnownServiceTypeEntryT(const TCOM_WellKnownServiceTypeEntryT& src) : TComInterface<_WellKnownServiceTypeEntry>(src) {}
  TCOM_WellKnownServiceTypeEntryT& operator=(const TCOM_WellKnownServiceTypeEntryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_WellKnownServiceTypeEntryT<_WellKnownServiceTypeEntry> TCOM_WellKnownServiceTypeEntry;

// *********************************************************************//
// DispIntf:  _WellKnownServiceTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {60B8B604-0AED-3093-AC05-EB98FB29FC47}
// *********************************************************************//
template<class T>
class _WellKnownServiceTypeEntryDispT : public TAutoDriver<_WellKnownServiceTypeEntry>
{
public:
  _WellKnownServiceTypeEntryDispT(){}

  _WellKnownServiceTypeEntryDispT(_WellKnownServiceTypeEntry *pintf)
  {
    TAutoDriver<_WellKnownServiceTypeEntry>::Bind(pintf, false);
  }

  _WellKnownServiceTypeEntryDispT(_WellKnownServiceTypeEntryPtr pintf)
  {
    TAutoDriver<_WellKnownServiceTypeEntry>::Bind(pintf, true);
  }

  _WellKnownServiceTypeEntryDispT& operator=(_WellKnownServiceTypeEntry *pintf)
  {
    TAutoDriver<_WellKnownServiceTypeEntry>::Bind(pintf, false);
    return *this;
  }

  _WellKnownServiceTypeEntryDispT& operator=(_WellKnownServiceTypeEntryPtr pintf)
  {
    TAutoDriver<_WellKnownServiceTypeEntry>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_WellKnownServiceTypeEntry));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_WellKnownServiceTypeEntry);
  }


};
typedef _WellKnownServiceTypeEntryDispT<_WellKnownServiceTypeEntry> _WellKnownServiceTypeEntryDisp;

// *********************************************************************//
// SmartIntf: TCOM_RemotingException
// Interface: _RemotingException
// *********************************************************************//
template <class T /* _RemotingException */ >
class TCOM_RemotingExceptionT : public TComInterface<_RemotingException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RemotingExceptionT() {}
  TCOM_RemotingExceptionT(_RemotingException *intf, bool addRef = false) : TComInterface<_RemotingException>(intf, addRef) {}
  TCOM_RemotingExceptionT(const TCOM_RemotingExceptionT& src) : TComInterface<_RemotingException>(src) {}
  TCOM_RemotingExceptionT& operator=(const TCOM_RemotingExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RemotingExceptionT<_RemotingException> TCOM_RemotingException;

// *********************************************************************//
// DispIntf:  _RemotingException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7264843F-F60C-39A9-99E1-029126AA0815}
// *********************************************************************//
template<class T>
class _RemotingExceptionDispT : public TAutoDriver<_RemotingException>
{
public:
  _RemotingExceptionDispT(){}

  _RemotingExceptionDispT(_RemotingException *pintf)
  {
    TAutoDriver<_RemotingException>::Bind(pintf, false);
  }

  _RemotingExceptionDispT(_RemotingExceptionPtr pintf)
  {
    TAutoDriver<_RemotingException>::Bind(pintf, true);
  }

  _RemotingExceptionDispT& operator=(_RemotingException *pintf)
  {
    TAutoDriver<_RemotingException>::Bind(pintf, false);
    return *this;
  }

  _RemotingExceptionDispT& operator=(_RemotingExceptionPtr pintf)
  {
    TAutoDriver<_RemotingException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RemotingException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RemotingException);
  }


};
typedef _RemotingExceptionDispT<_RemotingException> _RemotingExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_ServerException
// Interface: _ServerException
// *********************************************************************//
template <class T /* _ServerException */ >
class TCOM_ServerExceptionT : public TComInterface<_ServerException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ServerExceptionT() {}
  TCOM_ServerExceptionT(_ServerException *intf, bool addRef = false) : TComInterface<_ServerException>(intf, addRef) {}
  TCOM_ServerExceptionT(const TCOM_ServerExceptionT& src) : TComInterface<_ServerException>(src) {}
  TCOM_ServerExceptionT& operator=(const TCOM_ServerExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ServerExceptionT<_ServerException> TCOM_ServerException;

// *********************************************************************//
// DispIntf:  _ServerException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {19373C44-55B4-3487-9AD8-4C621AAE85EA}
// *********************************************************************//
template<class T>
class _ServerExceptionDispT : public TAutoDriver<_ServerException>
{
public:
  _ServerExceptionDispT(){}

  _ServerExceptionDispT(_ServerException *pintf)
  {
    TAutoDriver<_ServerException>::Bind(pintf, false);
  }

  _ServerExceptionDispT(_ServerExceptionPtr pintf)
  {
    TAutoDriver<_ServerException>::Bind(pintf, true);
  }

  _ServerExceptionDispT& operator=(_ServerException *pintf)
  {
    TAutoDriver<_ServerException>::Bind(pintf, false);
    return *this;
  }

  _ServerExceptionDispT& operator=(_ServerExceptionPtr pintf)
  {
    TAutoDriver<_ServerException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ServerException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ServerException);
  }


};
typedef _ServerExceptionDispT<_ServerException> _ServerExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_RemotingTimeoutException
// Interface: _RemotingTimeoutException
// *********************************************************************//
template <class T /* _RemotingTimeoutException */ >
class TCOM_RemotingTimeoutExceptionT : public TComInterface<_RemotingTimeoutException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RemotingTimeoutExceptionT() {}
  TCOM_RemotingTimeoutExceptionT(_RemotingTimeoutException *intf, bool addRef = false) : TComInterface<_RemotingTimeoutException>(intf, addRef) {}
  TCOM_RemotingTimeoutExceptionT(const TCOM_RemotingTimeoutExceptionT& src) : TComInterface<_RemotingTimeoutException>(src) {}
  TCOM_RemotingTimeoutExceptionT& operator=(const TCOM_RemotingTimeoutExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RemotingTimeoutExceptionT<_RemotingTimeoutException> TCOM_RemotingTimeoutException;

// *********************************************************************//
// DispIntf:  _RemotingTimeoutException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {44DB8E15-ACB1-34EE-81F9-56ED7AE37A5C}
// *********************************************************************//
template<class T>
class _RemotingTimeoutExceptionDispT : public TAutoDriver<_RemotingTimeoutException>
{
public:
  _RemotingTimeoutExceptionDispT(){}

  _RemotingTimeoutExceptionDispT(_RemotingTimeoutException *pintf)
  {
    TAutoDriver<_RemotingTimeoutException>::Bind(pintf, false);
  }

  _RemotingTimeoutExceptionDispT(_RemotingTimeoutExceptionPtr pintf)
  {
    TAutoDriver<_RemotingTimeoutException>::Bind(pintf, true);
  }

  _RemotingTimeoutExceptionDispT& operator=(_RemotingTimeoutException *pintf)
  {
    TAutoDriver<_RemotingTimeoutException>::Bind(pintf, false);
    return *this;
  }

  _RemotingTimeoutExceptionDispT& operator=(_RemotingTimeoutExceptionPtr pintf)
  {
    TAutoDriver<_RemotingTimeoutException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RemotingTimeoutException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RemotingTimeoutException);
  }


};
typedef _RemotingTimeoutExceptionDispT<_RemotingTimeoutException> _RemotingTimeoutExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_RemotingServices
// Interface: _RemotingServices
// *********************************************************************//
template <class T /* _RemotingServices */ >
class TCOM_RemotingServicesT : public TComInterface<_RemotingServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RemotingServicesT() {}
  TCOM_RemotingServicesT(_RemotingServices *intf, bool addRef = false) : TComInterface<_RemotingServices>(intf, addRef) {}
  TCOM_RemotingServicesT(const TCOM_RemotingServicesT& src) : TComInterface<_RemotingServices>(src) {}
  TCOM_RemotingServicesT& operator=(const TCOM_RemotingServicesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RemotingServicesT<_RemotingServices> TCOM_RemotingServices;

// *********************************************************************//
// DispIntf:  _RemotingServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7B91368D-A50A-3D36-BE8E-5B8836A419AD}
// *********************************************************************//
template<class T>
class _RemotingServicesDispT : public TAutoDriver<_RemotingServices>
{
public:
  _RemotingServicesDispT(){}

  _RemotingServicesDispT(_RemotingServices *pintf)
  {
    TAutoDriver<_RemotingServices>::Bind(pintf, false);
  }

  _RemotingServicesDispT(_RemotingServicesPtr pintf)
  {
    TAutoDriver<_RemotingServices>::Bind(pintf, true);
  }

  _RemotingServicesDispT& operator=(_RemotingServices *pintf)
  {
    TAutoDriver<_RemotingServices>::Bind(pintf, false);
    return *this;
  }

  _RemotingServicesDispT& operator=(_RemotingServicesPtr pintf)
  {
    TAutoDriver<_RemotingServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RemotingServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RemotingServices);
  }


};
typedef _RemotingServicesDispT<_RemotingServices> _RemotingServicesDisp;

// *********************************************************************//
// SmartIntf: TCOM_InternalRemotingServices
// Interface: _InternalRemotingServices
// *********************************************************************//
template <class T /* _InternalRemotingServices */ >
class TCOM_InternalRemotingServicesT : public TComInterface<_InternalRemotingServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InternalRemotingServicesT() {}
  TCOM_InternalRemotingServicesT(_InternalRemotingServices *intf, bool addRef = false) : TComInterface<_InternalRemotingServices>(intf, addRef) {}
  TCOM_InternalRemotingServicesT(const TCOM_InternalRemotingServicesT& src) : TComInterface<_InternalRemotingServices>(src) {}
  TCOM_InternalRemotingServicesT& operator=(const TCOM_InternalRemotingServicesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InternalRemotingServicesT<_InternalRemotingServices> TCOM_InternalRemotingServices;

// *********************************************************************//
// DispIntf:  _InternalRemotingServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4EFB305-CDC4-31C5-8102-33C9B91774F3}
// *********************************************************************//
template<class T>
class _InternalRemotingServicesDispT : public TAutoDriver<_InternalRemotingServices>
{
public:
  _InternalRemotingServicesDispT(){}

  _InternalRemotingServicesDispT(_InternalRemotingServices *pintf)
  {
    TAutoDriver<_InternalRemotingServices>::Bind(pintf, false);
  }

  _InternalRemotingServicesDispT(_InternalRemotingServicesPtr pintf)
  {
    TAutoDriver<_InternalRemotingServices>::Bind(pintf, true);
  }

  _InternalRemotingServicesDispT& operator=(_InternalRemotingServices *pintf)
  {
    TAutoDriver<_InternalRemotingServices>::Bind(pintf, false);
    return *this;
  }

  _InternalRemotingServicesDispT& operator=(_InternalRemotingServicesPtr pintf)
  {
    TAutoDriver<_InternalRemotingServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InternalRemotingServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InternalRemotingServices);
  }


};
typedef _InternalRemotingServicesDispT<_InternalRemotingServices> _InternalRemotingServicesDisp;

// *********************************************************************//
// SmartIntf: TCOM_MessageSurrogateFilter
// Interface: _MessageSurrogateFilter
// *********************************************************************//
template <class T /* _MessageSurrogateFilter */ >
class TCOM_MessageSurrogateFilterT : public TComInterface<_MessageSurrogateFilter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MessageSurrogateFilterT() {}
  TCOM_MessageSurrogateFilterT(_MessageSurrogateFilter *intf, bool addRef = false) : TComInterface<_MessageSurrogateFilter>(intf, addRef) {}
  TCOM_MessageSurrogateFilterT(const TCOM_MessageSurrogateFilterT& src) : TComInterface<_MessageSurrogateFilter>(src) {}
  TCOM_MessageSurrogateFilterT& operator=(const TCOM_MessageSurrogateFilterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MessageSurrogateFilterT<_MessageSurrogateFilter> TCOM_MessageSurrogateFilter;

// *********************************************************************//
// DispIntf:  _MessageSurrogateFilter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {04A35D22-0B08-34E7-A573-88EF2374375E}
// *********************************************************************//
template<class T>
class _MessageSurrogateFilterDispT : public TAutoDriver<_MessageSurrogateFilter>
{
public:
  _MessageSurrogateFilterDispT(){}

  _MessageSurrogateFilterDispT(_MessageSurrogateFilter *pintf)
  {
    TAutoDriver<_MessageSurrogateFilter>::Bind(pintf, false);
  }

  _MessageSurrogateFilterDispT(_MessageSurrogateFilterPtr pintf)
  {
    TAutoDriver<_MessageSurrogateFilter>::Bind(pintf, true);
  }

  _MessageSurrogateFilterDispT& operator=(_MessageSurrogateFilter *pintf)
  {
    TAutoDriver<_MessageSurrogateFilter>::Bind(pintf, false);
    return *this;
  }

  _MessageSurrogateFilterDispT& operator=(_MessageSurrogateFilterPtr pintf)
  {
    TAutoDriver<_MessageSurrogateFilter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MessageSurrogateFilter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MessageSurrogateFilter);
  }


};
typedef _MessageSurrogateFilterDispT<_MessageSurrogateFilter> _MessageSurrogateFilterDisp;

// *********************************************************************//
// SmartIntf: TCOM_RemotingSurrogateSelector
// Interface: _RemotingSurrogateSelector
// *********************************************************************//
template <class T /* _RemotingSurrogateSelector */ >
class TCOM_RemotingSurrogateSelectorT : public TComInterface<_RemotingSurrogateSelector>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RemotingSurrogateSelectorT() {}
  TCOM_RemotingSurrogateSelectorT(_RemotingSurrogateSelector *intf, bool addRef = false) : TComInterface<_RemotingSurrogateSelector>(intf, addRef) {}
  TCOM_RemotingSurrogateSelectorT(const TCOM_RemotingSurrogateSelectorT& src) : TComInterface<_RemotingSurrogateSelector>(src) {}
  TCOM_RemotingSurrogateSelectorT& operator=(const TCOM_RemotingSurrogateSelectorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RemotingSurrogateSelectorT<_RemotingSurrogateSelector> TCOM_RemotingSurrogateSelector;

// *********************************************************************//
// DispIntf:  _RemotingSurrogateSelector
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {551F7A57-8651-37DB-A94A-6A3CA09C0ED7}
// *********************************************************************//
template<class T>
class _RemotingSurrogateSelectorDispT : public TAutoDriver<_RemotingSurrogateSelector>
{
public:
  _RemotingSurrogateSelectorDispT(){}

  _RemotingSurrogateSelectorDispT(_RemotingSurrogateSelector *pintf)
  {
    TAutoDriver<_RemotingSurrogateSelector>::Bind(pintf, false);
  }

  _RemotingSurrogateSelectorDispT(_RemotingSurrogateSelectorPtr pintf)
  {
    TAutoDriver<_RemotingSurrogateSelector>::Bind(pintf, true);
  }

  _RemotingSurrogateSelectorDispT& operator=(_RemotingSurrogateSelector *pintf)
  {
    TAutoDriver<_RemotingSurrogateSelector>::Bind(pintf, false);
    return *this;
  }

  _RemotingSurrogateSelectorDispT& operator=(_RemotingSurrogateSelectorPtr pintf)
  {
    TAutoDriver<_RemotingSurrogateSelector>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RemotingSurrogateSelector));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RemotingSurrogateSelector);
  }


};
typedef _RemotingSurrogateSelectorDispT<_RemotingSurrogateSelector> _RemotingSurrogateSelectorDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapServices
// Interface: _SoapServices
// *********************************************************************//
template <class T /* _SoapServices */ >
class TCOM_SoapServicesT : public TComInterface<_SoapServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapServicesT() {}
  TCOM_SoapServicesT(_SoapServices *intf, bool addRef = false) : TComInterface<_SoapServices>(intf, addRef) {}
  TCOM_SoapServicesT(const TCOM_SoapServicesT& src) : TComInterface<_SoapServices>(src) {}
  TCOM_SoapServicesT& operator=(const TCOM_SoapServicesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapServicesT<_SoapServices> TCOM_SoapServices;

// *********************************************************************//
// DispIntf:  _SoapServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7416B6EE-82E8-3A16-966B-018A40E7B1AA}
// *********************************************************************//
template<class T>
class _SoapServicesDispT : public TAutoDriver<_SoapServices>
{
public:
  _SoapServicesDispT(){}

  _SoapServicesDispT(_SoapServices *pintf)
  {
    TAutoDriver<_SoapServices>::Bind(pintf, false);
  }

  _SoapServicesDispT(_SoapServicesPtr pintf)
  {
    TAutoDriver<_SoapServices>::Bind(pintf, true);
  }

  _SoapServicesDispT& operator=(_SoapServices *pintf)
  {
    TAutoDriver<_SoapServices>::Bind(pintf, false);
    return *this;
  }

  _SoapServicesDispT& operator=(_SoapServicesPtr pintf)
  {
    TAutoDriver<_SoapServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapServices);
  }


};
typedef _SoapServicesDispT<_SoapServices> _SoapServicesDisp;

typedef TComInterface<ISoapXsd>  TCOMISoapXsd;

// *********************************************************************//
// DispIntf:  ISoapXsd
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {80031D2A-AD59-3FB4-97F3-B864D71DA86B}
// *********************************************************************//
template<class T>
class ISoapXsdDispT : public TAutoDriver<ISoapXsd>
{
public:
  ISoapXsdDispT(){}

  ISoapXsdDispT(ISoapXsd *pintf)
  {
    TAutoDriver<ISoapXsd>::Bind(pintf, false);
  }

  ISoapXsdDispT(ISoapXsdPtr pintf)
  {
    TAutoDriver<ISoapXsd>::Bind(pintf, true);
  }

  ISoapXsdDispT& operator=(ISoapXsd *pintf)
  {
    TAutoDriver<ISoapXsd>::Bind(pintf, false);
    return *this;
  }

  ISoapXsdDispT& operator=(ISoapXsdPtr pintf)
  {
    TAutoDriver<ISoapXsd>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall GetXsdType(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall GetXsdType(void);

};
typedef ISoapXsdDispT<ISoapXsd> ISoapXsdDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapDateTime
// Interface: _SoapDateTime
// *********************************************************************//
template <class T /* _SoapDateTime */ >
class TCOM_SoapDateTimeT : public TComInterface<_SoapDateTime>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapDateTimeT() {}
  TCOM_SoapDateTimeT(_SoapDateTime *intf, bool addRef = false) : TComInterface<_SoapDateTime>(intf, addRef) {}
  TCOM_SoapDateTimeT(const TCOM_SoapDateTimeT& src) : TComInterface<_SoapDateTime>(src) {}
  TCOM_SoapDateTimeT& operator=(const TCOM_SoapDateTimeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapDateTimeT<_SoapDateTime> TCOM_SoapDateTime;

// *********************************************************************//
// DispIntf:  _SoapDateTime
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1738ADBC-156E-3897-844F-C3147C528DEA}
// *********************************************************************//
template<class T>
class _SoapDateTimeDispT : public TAutoDriver<_SoapDateTime>
{
public:
  _SoapDateTimeDispT(){}

  _SoapDateTimeDispT(_SoapDateTime *pintf)
  {
    TAutoDriver<_SoapDateTime>::Bind(pintf, false);
  }

  _SoapDateTimeDispT(_SoapDateTimePtr pintf)
  {
    TAutoDriver<_SoapDateTime>::Bind(pintf, true);
  }

  _SoapDateTimeDispT& operator=(_SoapDateTime *pintf)
  {
    TAutoDriver<_SoapDateTime>::Bind(pintf, false);
    return *this;
  }

  _SoapDateTimeDispT& operator=(_SoapDateTimePtr pintf)
  {
    TAutoDriver<_SoapDateTime>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapDateTime));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapDateTime);
  }


};
typedef _SoapDateTimeDispT<_SoapDateTime> _SoapDateTimeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapDuration
// Interface: _SoapDuration
// *********************************************************************//
template <class T /* _SoapDuration */ >
class TCOM_SoapDurationT : public TComInterface<_SoapDuration>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapDurationT() {}
  TCOM_SoapDurationT(_SoapDuration *intf, bool addRef = false) : TComInterface<_SoapDuration>(intf, addRef) {}
  TCOM_SoapDurationT(const TCOM_SoapDurationT& src) : TComInterface<_SoapDuration>(src) {}
  TCOM_SoapDurationT& operator=(const TCOM_SoapDurationT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapDurationT<_SoapDuration> TCOM_SoapDuration;

// *********************************************************************//
// DispIntf:  _SoapDuration
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7EF50DDB-32A5-30A1-B412-47FAB911404A}
// *********************************************************************//
template<class T>
class _SoapDurationDispT : public TAutoDriver<_SoapDuration>
{
public:
  _SoapDurationDispT(){}

  _SoapDurationDispT(_SoapDuration *pintf)
  {
    TAutoDriver<_SoapDuration>::Bind(pintf, false);
  }

  _SoapDurationDispT(_SoapDurationPtr pintf)
  {
    TAutoDriver<_SoapDuration>::Bind(pintf, true);
  }

  _SoapDurationDispT& operator=(_SoapDuration *pintf)
  {
    TAutoDriver<_SoapDuration>::Bind(pintf, false);
    return *this;
  }

  _SoapDurationDispT& operator=(_SoapDurationPtr pintf)
  {
    TAutoDriver<_SoapDuration>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapDuration));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapDuration);
  }


};
typedef _SoapDurationDispT<_SoapDuration> _SoapDurationDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapTime
// Interface: _SoapTime
// *********************************************************************//
template <class T /* _SoapTime */ >
class TCOM_SoapTimeT : public TComInterface<_SoapTime>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapTimeT() {}
  TCOM_SoapTimeT(_SoapTime *intf, bool addRef = false) : TComInterface<_SoapTime>(intf, addRef) {}
  TCOM_SoapTimeT(const TCOM_SoapTimeT& src) : TComInterface<_SoapTime>(src) {}
  TCOM_SoapTimeT& operator=(const TCOM_SoapTimeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapTimeT<_SoapTime> TCOM_SoapTime;

// *********************************************************************//
// DispIntf:  _SoapTime
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A3BF0BCD-EC32-38E6-92F2-5F37BAD8030D}
// *********************************************************************//
template<class T>
class _SoapTimeDispT : public TAutoDriver<_SoapTime>
{
public:
  _SoapTimeDispT(){}

  _SoapTimeDispT(_SoapTime *pintf)
  {
    TAutoDriver<_SoapTime>::Bind(pintf, false);
  }

  _SoapTimeDispT(_SoapTimePtr pintf)
  {
    TAutoDriver<_SoapTime>::Bind(pintf, true);
  }

  _SoapTimeDispT& operator=(_SoapTime *pintf)
  {
    TAutoDriver<_SoapTime>::Bind(pintf, false);
    return *this;
  }

  _SoapTimeDispT& operator=(_SoapTimePtr pintf)
  {
    TAutoDriver<_SoapTime>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapTime));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapTime);
  }


};
typedef _SoapTimeDispT<_SoapTime> _SoapTimeDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapDate
// Interface: _SoapDate
// *********************************************************************//
template <class T /* _SoapDate */ >
class TCOM_SoapDateT : public TComInterface<_SoapDate>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapDateT() {}
  TCOM_SoapDateT(_SoapDate *intf, bool addRef = false) : TComInterface<_SoapDate>(intf, addRef) {}
  TCOM_SoapDateT(const TCOM_SoapDateT& src) : TComInterface<_SoapDate>(src) {}
  TCOM_SoapDateT& operator=(const TCOM_SoapDateT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapDateT<_SoapDate> TCOM_SoapDate;

// *********************************************************************//
// DispIntf:  _SoapDate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CFA6E9D2-B3DE-39A6-94D1-CC691DE193F8}
// *********************************************************************//
template<class T>
class _SoapDateDispT : public TAutoDriver<_SoapDate>
{
public:
  _SoapDateDispT(){}

  _SoapDateDispT(_SoapDate *pintf)
  {
    TAutoDriver<_SoapDate>::Bind(pintf, false);
  }

  _SoapDateDispT(_SoapDatePtr pintf)
  {
    TAutoDriver<_SoapDate>::Bind(pintf, true);
  }

  _SoapDateDispT& operator=(_SoapDate *pintf)
  {
    TAutoDriver<_SoapDate>::Bind(pintf, false);
    return *this;
  }

  _SoapDateDispT& operator=(_SoapDatePtr pintf)
  {
    TAutoDriver<_SoapDate>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapDate));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapDate);
  }


};
typedef _SoapDateDispT<_SoapDate> _SoapDateDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapYearMonth
// Interface: _SoapYearMonth
// *********************************************************************//
template <class T /* _SoapYearMonth */ >
class TCOM_SoapYearMonthT : public TComInterface<_SoapYearMonth>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapYearMonthT() {}
  TCOM_SoapYearMonthT(_SoapYearMonth *intf, bool addRef = false) : TComInterface<_SoapYearMonth>(intf, addRef) {}
  TCOM_SoapYearMonthT(const TCOM_SoapYearMonthT& src) : TComInterface<_SoapYearMonth>(src) {}
  TCOM_SoapYearMonthT& operator=(const TCOM_SoapYearMonthT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapYearMonthT<_SoapYearMonth> TCOM_SoapYearMonth;

// *********************************************************************//
// DispIntf:  _SoapYearMonth
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {103C7EF9-A9EE-35FB-84C5-3086C9725A20}
// *********************************************************************//
template<class T>
class _SoapYearMonthDispT : public TAutoDriver<_SoapYearMonth>
{
public:
  _SoapYearMonthDispT(){}

  _SoapYearMonthDispT(_SoapYearMonth *pintf)
  {
    TAutoDriver<_SoapYearMonth>::Bind(pintf, false);
  }

  _SoapYearMonthDispT(_SoapYearMonthPtr pintf)
  {
    TAutoDriver<_SoapYearMonth>::Bind(pintf, true);
  }

  _SoapYearMonthDispT& operator=(_SoapYearMonth *pintf)
  {
    TAutoDriver<_SoapYearMonth>::Bind(pintf, false);
    return *this;
  }

  _SoapYearMonthDispT& operator=(_SoapYearMonthPtr pintf)
  {
    TAutoDriver<_SoapYearMonth>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapYearMonth));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapYearMonth);
  }


};
typedef _SoapYearMonthDispT<_SoapYearMonth> _SoapYearMonthDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapYear
// Interface: _SoapYear
// *********************************************************************//
template <class T /* _SoapYear */ >
class TCOM_SoapYearT : public TComInterface<_SoapYear>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapYearT() {}
  TCOM_SoapYearT(_SoapYear *intf, bool addRef = false) : TComInterface<_SoapYear>(intf, addRef) {}
  TCOM_SoapYearT(const TCOM_SoapYearT& src) : TComInterface<_SoapYear>(src) {}
  TCOM_SoapYearT& operator=(const TCOM_SoapYearT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapYearT<_SoapYear> TCOM_SoapYear;

// *********************************************************************//
// DispIntf:  _SoapYear
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C20769F3-858D-316A-BE6D-C347A47948AD}
// *********************************************************************//
template<class T>
class _SoapYearDispT : public TAutoDriver<_SoapYear>
{
public:
  _SoapYearDispT(){}

  _SoapYearDispT(_SoapYear *pintf)
  {
    TAutoDriver<_SoapYear>::Bind(pintf, false);
  }

  _SoapYearDispT(_SoapYearPtr pintf)
  {
    TAutoDriver<_SoapYear>::Bind(pintf, true);
  }

  _SoapYearDispT& operator=(_SoapYear *pintf)
  {
    TAutoDriver<_SoapYear>::Bind(pintf, false);
    return *this;
  }

  _SoapYearDispT& operator=(_SoapYearPtr pintf)
  {
    TAutoDriver<_SoapYear>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapYear));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapYear);
  }


};
typedef _SoapYearDispT<_SoapYear> _SoapYearDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapMonthDay
// Interface: _SoapMonthDay
// *********************************************************************//
template <class T /* _SoapMonthDay */ >
class TCOM_SoapMonthDayT : public TComInterface<_SoapMonthDay>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapMonthDayT() {}
  TCOM_SoapMonthDayT(_SoapMonthDay *intf, bool addRef = false) : TComInterface<_SoapMonthDay>(intf, addRef) {}
  TCOM_SoapMonthDayT(const TCOM_SoapMonthDayT& src) : TComInterface<_SoapMonthDay>(src) {}
  TCOM_SoapMonthDayT& operator=(const TCOM_SoapMonthDayT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapMonthDayT<_SoapMonthDay> TCOM_SoapMonthDay;

// *********************************************************************//
// DispIntf:  _SoapMonthDay
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F9EAD0AA-4156-368F-AE05-FD59D70F758D}
// *********************************************************************//
template<class T>
class _SoapMonthDayDispT : public TAutoDriver<_SoapMonthDay>
{
public:
  _SoapMonthDayDispT(){}

  _SoapMonthDayDispT(_SoapMonthDay *pintf)
  {
    TAutoDriver<_SoapMonthDay>::Bind(pintf, false);
  }

  _SoapMonthDayDispT(_SoapMonthDayPtr pintf)
  {
    TAutoDriver<_SoapMonthDay>::Bind(pintf, true);
  }

  _SoapMonthDayDispT& operator=(_SoapMonthDay *pintf)
  {
    TAutoDriver<_SoapMonthDay>::Bind(pintf, false);
    return *this;
  }

  _SoapMonthDayDispT& operator=(_SoapMonthDayPtr pintf)
  {
    TAutoDriver<_SoapMonthDay>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapMonthDay));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapMonthDay);
  }


};
typedef _SoapMonthDayDispT<_SoapMonthDay> _SoapMonthDayDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapDay
// Interface: _SoapDay
// *********************************************************************//
template <class T /* _SoapDay */ >
class TCOM_SoapDayT : public TComInterface<_SoapDay>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapDayT() {}
  TCOM_SoapDayT(_SoapDay *intf, bool addRef = false) : TComInterface<_SoapDay>(intf, addRef) {}
  TCOM_SoapDayT(const TCOM_SoapDayT& src) : TComInterface<_SoapDay>(src) {}
  TCOM_SoapDayT& operator=(const TCOM_SoapDayT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapDayT<_SoapDay> TCOM_SoapDay;

// *********************************************************************//
// DispIntf:  _SoapDay
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9E8314D-5053-3497-8A33-97D3DCFE33E2}
// *********************************************************************//
template<class T>
class _SoapDayDispT : public TAutoDriver<_SoapDay>
{
public:
  _SoapDayDispT(){}

  _SoapDayDispT(_SoapDay *pintf)
  {
    TAutoDriver<_SoapDay>::Bind(pintf, false);
  }

  _SoapDayDispT(_SoapDayPtr pintf)
  {
    TAutoDriver<_SoapDay>::Bind(pintf, true);
  }

  _SoapDayDispT& operator=(_SoapDay *pintf)
  {
    TAutoDriver<_SoapDay>::Bind(pintf, false);
    return *this;
  }

  _SoapDayDispT& operator=(_SoapDayPtr pintf)
  {
    TAutoDriver<_SoapDay>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapDay));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapDay);
  }


};
typedef _SoapDayDispT<_SoapDay> _SoapDayDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapMonth
// Interface: _SoapMonth
// *********************************************************************//
template <class T /* _SoapMonth */ >
class TCOM_SoapMonthT : public TComInterface<_SoapMonth>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapMonthT() {}
  TCOM_SoapMonthT(_SoapMonth *intf, bool addRef = false) : TComInterface<_SoapMonth>(intf, addRef) {}
  TCOM_SoapMonthT(const TCOM_SoapMonthT& src) : TComInterface<_SoapMonth>(src) {}
  TCOM_SoapMonthT& operator=(const TCOM_SoapMonthT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapMonthT<_SoapMonth> TCOM_SoapMonth;

// *********************************************************************//
// DispIntf:  _SoapMonth
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B4E32423-E473-3562-AA12-62FDE5A7D4A2}
// *********************************************************************//
template<class T>
class _SoapMonthDispT : public TAutoDriver<_SoapMonth>
{
public:
  _SoapMonthDispT(){}

  _SoapMonthDispT(_SoapMonth *pintf)
  {
    TAutoDriver<_SoapMonth>::Bind(pintf, false);
  }

  _SoapMonthDispT(_SoapMonthPtr pintf)
  {
    TAutoDriver<_SoapMonth>::Bind(pintf, true);
  }

  _SoapMonthDispT& operator=(_SoapMonth *pintf)
  {
    TAutoDriver<_SoapMonth>::Bind(pintf, false);
    return *this;
  }

  _SoapMonthDispT& operator=(_SoapMonthPtr pintf)
  {
    TAutoDriver<_SoapMonth>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapMonth));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapMonth);
  }


};
typedef _SoapMonthDispT<_SoapMonth> _SoapMonthDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapHexBinary
// Interface: _SoapHexBinary
// *********************************************************************//
template <class T /* _SoapHexBinary */ >
class TCOM_SoapHexBinaryT : public TComInterface<_SoapHexBinary>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapHexBinaryT() {}
  TCOM_SoapHexBinaryT(_SoapHexBinary *intf, bool addRef = false) : TComInterface<_SoapHexBinary>(intf, addRef) {}
  TCOM_SoapHexBinaryT(const TCOM_SoapHexBinaryT& src) : TComInterface<_SoapHexBinary>(src) {}
  TCOM_SoapHexBinaryT& operator=(const TCOM_SoapHexBinaryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapHexBinaryT<_SoapHexBinary> TCOM_SoapHexBinary;

// *********************************************************************//
// DispIntf:  _SoapHexBinary
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {63B9DA95-FB91-358A-B7B7-90C34AA34AB7}
// *********************************************************************//
template<class T>
class _SoapHexBinaryDispT : public TAutoDriver<_SoapHexBinary>
{
public:
  _SoapHexBinaryDispT(){}

  _SoapHexBinaryDispT(_SoapHexBinary *pintf)
  {
    TAutoDriver<_SoapHexBinary>::Bind(pintf, false);
  }

  _SoapHexBinaryDispT(_SoapHexBinaryPtr pintf)
  {
    TAutoDriver<_SoapHexBinary>::Bind(pintf, true);
  }

  _SoapHexBinaryDispT& operator=(_SoapHexBinary *pintf)
  {
    TAutoDriver<_SoapHexBinary>::Bind(pintf, false);
    return *this;
  }

  _SoapHexBinaryDispT& operator=(_SoapHexBinaryPtr pintf)
  {
    TAutoDriver<_SoapHexBinary>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapHexBinary));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapHexBinary);
  }


};
typedef _SoapHexBinaryDispT<_SoapHexBinary> _SoapHexBinaryDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapBase64Binary
// Interface: _SoapBase64Binary
// *********************************************************************//
template <class T /* _SoapBase64Binary */ >
class TCOM_SoapBase64BinaryT : public TComInterface<_SoapBase64Binary>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapBase64BinaryT() {}
  TCOM_SoapBase64BinaryT(_SoapBase64Binary *intf, bool addRef = false) : TComInterface<_SoapBase64Binary>(intf, addRef) {}
  TCOM_SoapBase64BinaryT(const TCOM_SoapBase64BinaryT& src) : TComInterface<_SoapBase64Binary>(src) {}
  TCOM_SoapBase64BinaryT& operator=(const TCOM_SoapBase64BinaryT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapBase64BinaryT<_SoapBase64Binary> TCOM_SoapBase64Binary;

// *********************************************************************//
// DispIntf:  _SoapBase64Binary
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8ED115A1-5E7B-34DC-AB85-90316F28015D}
// *********************************************************************//
template<class T>
class _SoapBase64BinaryDispT : public TAutoDriver<_SoapBase64Binary>
{
public:
  _SoapBase64BinaryDispT(){}

  _SoapBase64BinaryDispT(_SoapBase64Binary *pintf)
  {
    TAutoDriver<_SoapBase64Binary>::Bind(pintf, false);
  }

  _SoapBase64BinaryDispT(_SoapBase64BinaryPtr pintf)
  {
    TAutoDriver<_SoapBase64Binary>::Bind(pintf, true);
  }

  _SoapBase64BinaryDispT& operator=(_SoapBase64Binary *pintf)
  {
    TAutoDriver<_SoapBase64Binary>::Bind(pintf, false);
    return *this;
  }

  _SoapBase64BinaryDispT& operator=(_SoapBase64BinaryPtr pintf)
  {
    TAutoDriver<_SoapBase64Binary>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapBase64Binary));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapBase64Binary);
  }


};
typedef _SoapBase64BinaryDispT<_SoapBase64Binary> _SoapBase64BinaryDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapInteger
// Interface: _SoapInteger
// *********************************************************************//
template <class T /* _SoapInteger */ >
class TCOM_SoapIntegerT : public TComInterface<_SoapInteger>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapIntegerT() {}
  TCOM_SoapIntegerT(_SoapInteger *intf, bool addRef = false) : TComInterface<_SoapInteger>(intf, addRef) {}
  TCOM_SoapIntegerT(const TCOM_SoapIntegerT& src) : TComInterface<_SoapInteger>(src) {}
  TCOM_SoapIntegerT& operator=(const TCOM_SoapIntegerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapIntegerT<_SoapInteger> TCOM_SoapInteger;

// *********************************************************************//
// DispIntf:  _SoapInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {30C65C40-4E54-3051-9D8F-4709B6AB214C}
// *********************************************************************//
template<class T>
class _SoapIntegerDispT : public TAutoDriver<_SoapInteger>
{
public:
  _SoapIntegerDispT(){}

  _SoapIntegerDispT(_SoapInteger *pintf)
  {
    TAutoDriver<_SoapInteger>::Bind(pintf, false);
  }

  _SoapIntegerDispT(_SoapIntegerPtr pintf)
  {
    TAutoDriver<_SoapInteger>::Bind(pintf, true);
  }

  _SoapIntegerDispT& operator=(_SoapInteger *pintf)
  {
    TAutoDriver<_SoapInteger>::Bind(pintf, false);
    return *this;
  }

  _SoapIntegerDispT& operator=(_SoapIntegerPtr pintf)
  {
    TAutoDriver<_SoapInteger>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapInteger));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapInteger);
  }


};
typedef _SoapIntegerDispT<_SoapInteger> _SoapIntegerDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapPositiveInteger
// Interface: _SoapPositiveInteger
// *********************************************************************//
template <class T /* _SoapPositiveInteger */ >
class TCOM_SoapPositiveIntegerT : public TComInterface<_SoapPositiveInteger>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapPositiveIntegerT() {}
  TCOM_SoapPositiveIntegerT(_SoapPositiveInteger *intf, bool addRef = false) : TComInterface<_SoapPositiveInteger>(intf, addRef) {}
  TCOM_SoapPositiveIntegerT(const TCOM_SoapPositiveIntegerT& src) : TComInterface<_SoapPositiveInteger>(src) {}
  TCOM_SoapPositiveIntegerT& operator=(const TCOM_SoapPositiveIntegerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapPositiveIntegerT<_SoapPositiveInteger> TCOM_SoapPositiveInteger;

// *********************************************************************//
// DispIntf:  _SoapPositiveInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4979EC29-C2B7-3AD6-986D-5AAF7344CC4E}
// *********************************************************************//
template<class T>
class _SoapPositiveIntegerDispT : public TAutoDriver<_SoapPositiveInteger>
{
public:
  _SoapPositiveIntegerDispT(){}

  _SoapPositiveIntegerDispT(_SoapPositiveInteger *pintf)
  {
    TAutoDriver<_SoapPositiveInteger>::Bind(pintf, false);
  }

  _SoapPositiveIntegerDispT(_SoapPositiveIntegerPtr pintf)
  {
    TAutoDriver<_SoapPositiveInteger>::Bind(pintf, true);
  }

  _SoapPositiveIntegerDispT& operator=(_SoapPositiveInteger *pintf)
  {
    TAutoDriver<_SoapPositiveInteger>::Bind(pintf, false);
    return *this;
  }

  _SoapPositiveIntegerDispT& operator=(_SoapPositiveIntegerPtr pintf)
  {
    TAutoDriver<_SoapPositiveInteger>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapPositiveInteger));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapPositiveInteger);
  }


};
typedef _SoapPositiveIntegerDispT<_SoapPositiveInteger> _SoapPositiveIntegerDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNonPositiveInteger
// Interface: _SoapNonPositiveInteger
// *********************************************************************//
template <class T /* _SoapNonPositiveInteger */ >
class TCOM_SoapNonPositiveIntegerT : public TComInterface<_SoapNonPositiveInteger>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNonPositiveIntegerT() {}
  TCOM_SoapNonPositiveIntegerT(_SoapNonPositiveInteger *intf, bool addRef = false) : TComInterface<_SoapNonPositiveInteger>(intf, addRef) {}
  TCOM_SoapNonPositiveIntegerT(const TCOM_SoapNonPositiveIntegerT& src) : TComInterface<_SoapNonPositiveInteger>(src) {}
  TCOM_SoapNonPositiveIntegerT& operator=(const TCOM_SoapNonPositiveIntegerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNonPositiveIntegerT<_SoapNonPositiveInteger> TCOM_SoapNonPositiveInteger;

// *********************************************************************//
// DispIntf:  _SoapNonPositiveInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AAF5401E-F71C-3FE3-8A73-A25074B20D3A}
// *********************************************************************//
template<class T>
class _SoapNonPositiveIntegerDispT : public TAutoDriver<_SoapNonPositiveInteger>
{
public:
  _SoapNonPositiveIntegerDispT(){}

  _SoapNonPositiveIntegerDispT(_SoapNonPositiveInteger *pintf)
  {
    TAutoDriver<_SoapNonPositiveInteger>::Bind(pintf, false);
  }

  _SoapNonPositiveIntegerDispT(_SoapNonPositiveIntegerPtr pintf)
  {
    TAutoDriver<_SoapNonPositiveInteger>::Bind(pintf, true);
  }

  _SoapNonPositiveIntegerDispT& operator=(_SoapNonPositiveInteger *pintf)
  {
    TAutoDriver<_SoapNonPositiveInteger>::Bind(pintf, false);
    return *this;
  }

  _SoapNonPositiveIntegerDispT& operator=(_SoapNonPositiveIntegerPtr pintf)
  {
    TAutoDriver<_SoapNonPositiveInteger>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNonPositiveInteger));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNonPositiveInteger);
  }


};
typedef _SoapNonPositiveIntegerDispT<_SoapNonPositiveInteger> _SoapNonPositiveIntegerDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNonNegativeInteger
// Interface: _SoapNonNegativeInteger
// *********************************************************************//
template <class T /* _SoapNonNegativeInteger */ >
class TCOM_SoapNonNegativeIntegerT : public TComInterface<_SoapNonNegativeInteger>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNonNegativeIntegerT() {}
  TCOM_SoapNonNegativeIntegerT(_SoapNonNegativeInteger *intf, bool addRef = false) : TComInterface<_SoapNonNegativeInteger>(intf, addRef) {}
  TCOM_SoapNonNegativeIntegerT(const TCOM_SoapNonNegativeIntegerT& src) : TComInterface<_SoapNonNegativeInteger>(src) {}
  TCOM_SoapNonNegativeIntegerT& operator=(const TCOM_SoapNonNegativeIntegerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNonNegativeIntegerT<_SoapNonNegativeInteger> TCOM_SoapNonNegativeInteger;

// *********************************************************************//
// DispIntf:  _SoapNonNegativeInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BC261FC6-7132-3FB5-9AAC-224845D3AA99}
// *********************************************************************//
template<class T>
class _SoapNonNegativeIntegerDispT : public TAutoDriver<_SoapNonNegativeInteger>
{
public:
  _SoapNonNegativeIntegerDispT(){}

  _SoapNonNegativeIntegerDispT(_SoapNonNegativeInteger *pintf)
  {
    TAutoDriver<_SoapNonNegativeInteger>::Bind(pintf, false);
  }

  _SoapNonNegativeIntegerDispT(_SoapNonNegativeIntegerPtr pintf)
  {
    TAutoDriver<_SoapNonNegativeInteger>::Bind(pintf, true);
  }

  _SoapNonNegativeIntegerDispT& operator=(_SoapNonNegativeInteger *pintf)
  {
    TAutoDriver<_SoapNonNegativeInteger>::Bind(pintf, false);
    return *this;
  }

  _SoapNonNegativeIntegerDispT& operator=(_SoapNonNegativeIntegerPtr pintf)
  {
    TAutoDriver<_SoapNonNegativeInteger>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNonNegativeInteger));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNonNegativeInteger);
  }


};
typedef _SoapNonNegativeIntegerDispT<_SoapNonNegativeInteger> _SoapNonNegativeIntegerDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNegativeInteger
// Interface: _SoapNegativeInteger
// *********************************************************************//
template <class T /* _SoapNegativeInteger */ >
class TCOM_SoapNegativeIntegerT : public TComInterface<_SoapNegativeInteger>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNegativeIntegerT() {}
  TCOM_SoapNegativeIntegerT(_SoapNegativeInteger *intf, bool addRef = false) : TComInterface<_SoapNegativeInteger>(intf, addRef) {}
  TCOM_SoapNegativeIntegerT(const TCOM_SoapNegativeIntegerT& src) : TComInterface<_SoapNegativeInteger>(src) {}
  TCOM_SoapNegativeIntegerT& operator=(const TCOM_SoapNegativeIntegerT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNegativeIntegerT<_SoapNegativeInteger> TCOM_SoapNegativeInteger;

// *********************************************************************//
// DispIntf:  _SoapNegativeInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E384AA10-A70C-3943-97CF-0F7C282C3BDC}
// *********************************************************************//
template<class T>
class _SoapNegativeIntegerDispT : public TAutoDriver<_SoapNegativeInteger>
{
public:
  _SoapNegativeIntegerDispT(){}

  _SoapNegativeIntegerDispT(_SoapNegativeInteger *pintf)
  {
    TAutoDriver<_SoapNegativeInteger>::Bind(pintf, false);
  }

  _SoapNegativeIntegerDispT(_SoapNegativeIntegerPtr pintf)
  {
    TAutoDriver<_SoapNegativeInteger>::Bind(pintf, true);
  }

  _SoapNegativeIntegerDispT& operator=(_SoapNegativeInteger *pintf)
  {
    TAutoDriver<_SoapNegativeInteger>::Bind(pintf, false);
    return *this;
  }

  _SoapNegativeIntegerDispT& operator=(_SoapNegativeIntegerPtr pintf)
  {
    TAutoDriver<_SoapNegativeInteger>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNegativeInteger));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNegativeInteger);
  }


};
typedef _SoapNegativeIntegerDispT<_SoapNegativeInteger> _SoapNegativeIntegerDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapAnyUri
// Interface: _SoapAnyUri
// *********************************************************************//
template <class T /* _SoapAnyUri */ >
class TCOM_SoapAnyUriT : public TComInterface<_SoapAnyUri>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapAnyUriT() {}
  TCOM_SoapAnyUriT(_SoapAnyUri *intf, bool addRef = false) : TComInterface<_SoapAnyUri>(intf, addRef) {}
  TCOM_SoapAnyUriT(const TCOM_SoapAnyUriT& src) : TComInterface<_SoapAnyUri>(src) {}
  TCOM_SoapAnyUriT& operator=(const TCOM_SoapAnyUriT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapAnyUriT<_SoapAnyUri> TCOM_SoapAnyUri;

// *********************************************************************//
// DispIntf:  _SoapAnyUri
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {818EC118-BE7E-3CDE-92C8-44B99160920E}
// *********************************************************************//
template<class T>
class _SoapAnyUriDispT : public TAutoDriver<_SoapAnyUri>
{
public:
  _SoapAnyUriDispT(){}

  _SoapAnyUriDispT(_SoapAnyUri *pintf)
  {
    TAutoDriver<_SoapAnyUri>::Bind(pintf, false);
  }

  _SoapAnyUriDispT(_SoapAnyUriPtr pintf)
  {
    TAutoDriver<_SoapAnyUri>::Bind(pintf, true);
  }

  _SoapAnyUriDispT& operator=(_SoapAnyUri *pintf)
  {
    TAutoDriver<_SoapAnyUri>::Bind(pintf, false);
    return *this;
  }

  _SoapAnyUriDispT& operator=(_SoapAnyUriPtr pintf)
  {
    TAutoDriver<_SoapAnyUri>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapAnyUri));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapAnyUri);
  }


};
typedef _SoapAnyUriDispT<_SoapAnyUri> _SoapAnyUriDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapQName
// Interface: _SoapQName
// *********************************************************************//
template <class T /* _SoapQName */ >
class TCOM_SoapQNameT : public TComInterface<_SoapQName>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapQNameT() {}
  TCOM_SoapQNameT(_SoapQName *intf, bool addRef = false) : TComInterface<_SoapQName>(intf, addRef) {}
  TCOM_SoapQNameT(const TCOM_SoapQNameT& src) : TComInterface<_SoapQName>(src) {}
  TCOM_SoapQNameT& operator=(const TCOM_SoapQNameT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapQNameT<_SoapQName> TCOM_SoapQName;

// *********************************************************************//
// DispIntf:  _SoapQName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3AC646B6-6B84-382F-9AED-22C2433244E6}
// *********************************************************************//
template<class T>
class _SoapQNameDispT : public TAutoDriver<_SoapQName>
{
public:
  _SoapQNameDispT(){}

  _SoapQNameDispT(_SoapQName *pintf)
  {
    TAutoDriver<_SoapQName>::Bind(pintf, false);
  }

  _SoapQNameDispT(_SoapQNamePtr pintf)
  {
    TAutoDriver<_SoapQName>::Bind(pintf, true);
  }

  _SoapQNameDispT& operator=(_SoapQName *pintf)
  {
    TAutoDriver<_SoapQName>::Bind(pintf, false);
    return *this;
  }

  _SoapQNameDispT& operator=(_SoapQNamePtr pintf)
  {
    TAutoDriver<_SoapQName>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapQName));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapQName);
  }


};
typedef _SoapQNameDispT<_SoapQName> _SoapQNameDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNotation
// Interface: _SoapNotation
// *********************************************************************//
template <class T /* _SoapNotation */ >
class TCOM_SoapNotationT : public TComInterface<_SoapNotation>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNotationT() {}
  TCOM_SoapNotationT(_SoapNotation *intf, bool addRef = false) : TComInterface<_SoapNotation>(intf, addRef) {}
  TCOM_SoapNotationT(const TCOM_SoapNotationT& src) : TComInterface<_SoapNotation>(src) {}
  TCOM_SoapNotationT& operator=(const TCOM_SoapNotationT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNotationT<_SoapNotation> TCOM_SoapNotation;

// *********************************************************************//
// DispIntf:  _SoapNotation
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {974F01F4-6086-3137-9448-6A31FC9BEF08}
// *********************************************************************//
template<class T>
class _SoapNotationDispT : public TAutoDriver<_SoapNotation>
{
public:
  _SoapNotationDispT(){}

  _SoapNotationDispT(_SoapNotation *pintf)
  {
    TAutoDriver<_SoapNotation>::Bind(pintf, false);
  }

  _SoapNotationDispT(_SoapNotationPtr pintf)
  {
    TAutoDriver<_SoapNotation>::Bind(pintf, true);
  }

  _SoapNotationDispT& operator=(_SoapNotation *pintf)
  {
    TAutoDriver<_SoapNotation>::Bind(pintf, false);
    return *this;
  }

  _SoapNotationDispT& operator=(_SoapNotationPtr pintf)
  {
    TAutoDriver<_SoapNotation>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNotation));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNotation);
  }


};
typedef _SoapNotationDispT<_SoapNotation> _SoapNotationDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNormalizedString
// Interface: _SoapNormalizedString
// *********************************************************************//
template <class T /* _SoapNormalizedString */ >
class TCOM_SoapNormalizedStringT : public TComInterface<_SoapNormalizedString>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNormalizedStringT() {}
  TCOM_SoapNormalizedStringT(_SoapNormalizedString *intf, bool addRef = false) : TComInterface<_SoapNormalizedString>(intf, addRef) {}
  TCOM_SoapNormalizedStringT(const TCOM_SoapNormalizedStringT& src) : TComInterface<_SoapNormalizedString>(src) {}
  TCOM_SoapNormalizedStringT& operator=(const TCOM_SoapNormalizedStringT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNormalizedStringT<_SoapNormalizedString> TCOM_SoapNormalizedString;

// *********************************************************************//
// DispIntf:  _SoapNormalizedString
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4926B50-3F23-37E0-9AFA-AA91FF89A7BD}
// *********************************************************************//
template<class T>
class _SoapNormalizedStringDispT : public TAutoDriver<_SoapNormalizedString>
{
public:
  _SoapNormalizedStringDispT(){}

  _SoapNormalizedStringDispT(_SoapNormalizedString *pintf)
  {
    TAutoDriver<_SoapNormalizedString>::Bind(pintf, false);
  }

  _SoapNormalizedStringDispT(_SoapNormalizedStringPtr pintf)
  {
    TAutoDriver<_SoapNormalizedString>::Bind(pintf, true);
  }

  _SoapNormalizedStringDispT& operator=(_SoapNormalizedString *pintf)
  {
    TAutoDriver<_SoapNormalizedString>::Bind(pintf, false);
    return *this;
  }

  _SoapNormalizedStringDispT& operator=(_SoapNormalizedStringPtr pintf)
  {
    TAutoDriver<_SoapNormalizedString>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNormalizedString));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNormalizedString);
  }


};
typedef _SoapNormalizedStringDispT<_SoapNormalizedString> _SoapNormalizedStringDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapToken
// Interface: _SoapToken
// *********************************************************************//
template <class T /* _SoapToken */ >
class TCOM_SoapTokenT : public TComInterface<_SoapToken>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapTokenT() {}
  TCOM_SoapTokenT(_SoapToken *intf, bool addRef = false) : TComInterface<_SoapToken>(intf, addRef) {}
  TCOM_SoapTokenT(const TCOM_SoapTokenT& src) : TComInterface<_SoapToken>(src) {}
  TCOM_SoapTokenT& operator=(const TCOM_SoapTokenT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapTokenT<_SoapToken> TCOM_SoapToken;

// *********************************************************************//
// DispIntf:  _SoapToken
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AB4E97B9-651D-36F4-AABA-28ACF5746624}
// *********************************************************************//
template<class T>
class _SoapTokenDispT : public TAutoDriver<_SoapToken>
{
public:
  _SoapTokenDispT(){}

  _SoapTokenDispT(_SoapToken *pintf)
  {
    TAutoDriver<_SoapToken>::Bind(pintf, false);
  }

  _SoapTokenDispT(_SoapTokenPtr pintf)
  {
    TAutoDriver<_SoapToken>::Bind(pintf, true);
  }

  _SoapTokenDispT& operator=(_SoapToken *pintf)
  {
    TAutoDriver<_SoapToken>::Bind(pintf, false);
    return *this;
  }

  _SoapTokenDispT& operator=(_SoapTokenPtr pintf)
  {
    TAutoDriver<_SoapToken>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapToken));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapToken);
  }


};
typedef _SoapTokenDispT<_SoapToken> _SoapTokenDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapLanguage
// Interface: _SoapLanguage
// *********************************************************************//
template <class T /* _SoapLanguage */ >
class TCOM_SoapLanguageT : public TComInterface<_SoapLanguage>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapLanguageT() {}
  TCOM_SoapLanguageT(_SoapLanguage *intf, bool addRef = false) : TComInterface<_SoapLanguage>(intf, addRef) {}
  TCOM_SoapLanguageT(const TCOM_SoapLanguageT& src) : TComInterface<_SoapLanguage>(src) {}
  TCOM_SoapLanguageT& operator=(const TCOM_SoapLanguageT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapLanguageT<_SoapLanguage> TCOM_SoapLanguage;

// *********************************************************************//
// DispIntf:  _SoapLanguage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {14AED851-A168-3462-B877-8F9A01126653}
// *********************************************************************//
template<class T>
class _SoapLanguageDispT : public TAutoDriver<_SoapLanguage>
{
public:
  _SoapLanguageDispT(){}

  _SoapLanguageDispT(_SoapLanguage *pintf)
  {
    TAutoDriver<_SoapLanguage>::Bind(pintf, false);
  }

  _SoapLanguageDispT(_SoapLanguagePtr pintf)
  {
    TAutoDriver<_SoapLanguage>::Bind(pintf, true);
  }

  _SoapLanguageDispT& operator=(_SoapLanguage *pintf)
  {
    TAutoDriver<_SoapLanguage>::Bind(pintf, false);
    return *this;
  }

  _SoapLanguageDispT& operator=(_SoapLanguagePtr pintf)
  {
    TAutoDriver<_SoapLanguage>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapLanguage));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapLanguage);
  }


};
typedef _SoapLanguageDispT<_SoapLanguage> _SoapLanguageDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapName
// Interface: _SoapName
// *********************************************************************//
template <class T /* _SoapName */ >
class TCOM_SoapNameT : public TComInterface<_SoapName>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNameT() {}
  TCOM_SoapNameT(_SoapName *intf, bool addRef = false) : TComInterface<_SoapName>(intf, addRef) {}
  TCOM_SoapNameT(const TCOM_SoapNameT& src) : TComInterface<_SoapName>(src) {}
  TCOM_SoapNameT& operator=(const TCOM_SoapNameT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNameT<_SoapName> TCOM_SoapName;

// *********************************************************************//
// DispIntf:  _SoapName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5EB06BEF-4ADF-3CC1-A6F2-62F76886B13A}
// *********************************************************************//
template<class T>
class _SoapNameDispT : public TAutoDriver<_SoapName>
{
public:
  _SoapNameDispT(){}

  _SoapNameDispT(_SoapName *pintf)
  {
    TAutoDriver<_SoapName>::Bind(pintf, false);
  }

  _SoapNameDispT(_SoapNamePtr pintf)
  {
    TAutoDriver<_SoapName>::Bind(pintf, true);
  }

  _SoapNameDispT& operator=(_SoapName *pintf)
  {
    TAutoDriver<_SoapName>::Bind(pintf, false);
    return *this;
  }

  _SoapNameDispT& operator=(_SoapNamePtr pintf)
  {
    TAutoDriver<_SoapName>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapName));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapName);
  }


};
typedef _SoapNameDispT<_SoapName> _SoapNameDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapIdrefs
// Interface: _SoapIdrefs
// *********************************************************************//
template <class T /* _SoapIdrefs */ >
class TCOM_SoapIdrefsT : public TComInterface<_SoapIdrefs>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapIdrefsT() {}
  TCOM_SoapIdrefsT(_SoapIdrefs *intf, bool addRef = false) : TComInterface<_SoapIdrefs>(intf, addRef) {}
  TCOM_SoapIdrefsT(const TCOM_SoapIdrefsT& src) : TComInterface<_SoapIdrefs>(src) {}
  TCOM_SoapIdrefsT& operator=(const TCOM_SoapIdrefsT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapIdrefsT<_SoapIdrefs> TCOM_SoapIdrefs;

// *********************************************************************//
// DispIntf:  _SoapIdrefs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7947A829-ADB5-34D0-9CC8-6C172742C803}
// *********************************************************************//
template<class T>
class _SoapIdrefsDispT : public TAutoDriver<_SoapIdrefs>
{
public:
  _SoapIdrefsDispT(){}

  _SoapIdrefsDispT(_SoapIdrefs *pintf)
  {
    TAutoDriver<_SoapIdrefs>::Bind(pintf, false);
  }

  _SoapIdrefsDispT(_SoapIdrefsPtr pintf)
  {
    TAutoDriver<_SoapIdrefs>::Bind(pintf, true);
  }

  _SoapIdrefsDispT& operator=(_SoapIdrefs *pintf)
  {
    TAutoDriver<_SoapIdrefs>::Bind(pintf, false);
    return *this;
  }

  _SoapIdrefsDispT& operator=(_SoapIdrefsPtr pintf)
  {
    TAutoDriver<_SoapIdrefs>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapIdrefs));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapIdrefs);
  }


};
typedef _SoapIdrefsDispT<_SoapIdrefs> _SoapIdrefsDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapEntities
// Interface: _SoapEntities
// *********************************************************************//
template <class T /* _SoapEntities */ >
class TCOM_SoapEntitiesT : public TComInterface<_SoapEntities>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapEntitiesT() {}
  TCOM_SoapEntitiesT(_SoapEntities *intf, bool addRef = false) : TComInterface<_SoapEntities>(intf, addRef) {}
  TCOM_SoapEntitiesT(const TCOM_SoapEntitiesT& src) : TComInterface<_SoapEntities>(src) {}
  TCOM_SoapEntitiesT& operator=(const TCOM_SoapEntitiesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapEntitiesT<_SoapEntities> TCOM_SoapEntities;

// *********************************************************************//
// DispIntf:  _SoapEntities
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ACA96DA3-96ED-397E-8A72-EE1BE1025F5E}
// *********************************************************************//
template<class T>
class _SoapEntitiesDispT : public TAutoDriver<_SoapEntities>
{
public:
  _SoapEntitiesDispT(){}

  _SoapEntitiesDispT(_SoapEntities *pintf)
  {
    TAutoDriver<_SoapEntities>::Bind(pintf, false);
  }

  _SoapEntitiesDispT(_SoapEntitiesPtr pintf)
  {
    TAutoDriver<_SoapEntities>::Bind(pintf, true);
  }

  _SoapEntitiesDispT& operator=(_SoapEntities *pintf)
  {
    TAutoDriver<_SoapEntities>::Bind(pintf, false);
    return *this;
  }

  _SoapEntitiesDispT& operator=(_SoapEntitiesPtr pintf)
  {
    TAutoDriver<_SoapEntities>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapEntities));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapEntities);
  }


};
typedef _SoapEntitiesDispT<_SoapEntities> _SoapEntitiesDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNmtoken
// Interface: _SoapNmtoken
// *********************************************************************//
template <class T /* _SoapNmtoken */ >
class TCOM_SoapNmtokenT : public TComInterface<_SoapNmtoken>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNmtokenT() {}
  TCOM_SoapNmtokenT(_SoapNmtoken *intf, bool addRef = false) : TComInterface<_SoapNmtoken>(intf, addRef) {}
  TCOM_SoapNmtokenT(const TCOM_SoapNmtokenT& src) : TComInterface<_SoapNmtoken>(src) {}
  TCOM_SoapNmtokenT& operator=(const TCOM_SoapNmtokenT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNmtokenT<_SoapNmtoken> TCOM_SoapNmtoken;

// *********************************************************************//
// DispIntf:  _SoapNmtoken
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E941FA15-E6C8-3DD4-B060-C0DDFBC0240A}
// *********************************************************************//
template<class T>
class _SoapNmtokenDispT : public TAutoDriver<_SoapNmtoken>
{
public:
  _SoapNmtokenDispT(){}

  _SoapNmtokenDispT(_SoapNmtoken *pintf)
  {
    TAutoDriver<_SoapNmtoken>::Bind(pintf, false);
  }

  _SoapNmtokenDispT(_SoapNmtokenPtr pintf)
  {
    TAutoDriver<_SoapNmtoken>::Bind(pintf, true);
  }

  _SoapNmtokenDispT& operator=(_SoapNmtoken *pintf)
  {
    TAutoDriver<_SoapNmtoken>::Bind(pintf, false);
    return *this;
  }

  _SoapNmtokenDispT& operator=(_SoapNmtokenPtr pintf)
  {
    TAutoDriver<_SoapNmtoken>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNmtoken));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNmtoken);
  }


};
typedef _SoapNmtokenDispT<_SoapNmtoken> _SoapNmtokenDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNmtokens
// Interface: _SoapNmtokens
// *********************************************************************//
template <class T /* _SoapNmtokens */ >
class TCOM_SoapNmtokensT : public TComInterface<_SoapNmtokens>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNmtokensT() {}
  TCOM_SoapNmtokensT(_SoapNmtokens *intf, bool addRef = false) : TComInterface<_SoapNmtokens>(intf, addRef) {}
  TCOM_SoapNmtokensT(const TCOM_SoapNmtokensT& src) : TComInterface<_SoapNmtokens>(src) {}
  TCOM_SoapNmtokensT& operator=(const TCOM_SoapNmtokensT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNmtokensT<_SoapNmtokens> TCOM_SoapNmtokens;

// *********************************************************************//
// DispIntf:  _SoapNmtokens
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A5E385AE-27FB-3708-BAF7-0BF1F3955747}
// *********************************************************************//
template<class T>
class _SoapNmtokensDispT : public TAutoDriver<_SoapNmtokens>
{
public:
  _SoapNmtokensDispT(){}

  _SoapNmtokensDispT(_SoapNmtokens *pintf)
  {
    TAutoDriver<_SoapNmtokens>::Bind(pintf, false);
  }

  _SoapNmtokensDispT(_SoapNmtokensPtr pintf)
  {
    TAutoDriver<_SoapNmtokens>::Bind(pintf, true);
  }

  _SoapNmtokensDispT& operator=(_SoapNmtokens *pintf)
  {
    TAutoDriver<_SoapNmtokens>::Bind(pintf, false);
    return *this;
  }

  _SoapNmtokensDispT& operator=(_SoapNmtokensPtr pintf)
  {
    TAutoDriver<_SoapNmtokens>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNmtokens));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNmtokens);
  }


};
typedef _SoapNmtokensDispT<_SoapNmtokens> _SoapNmtokensDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapNcName
// Interface: _SoapNcName
// *********************************************************************//
template <class T /* _SoapNcName */ >
class TCOM_SoapNcNameT : public TComInterface<_SoapNcName>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapNcNameT() {}
  TCOM_SoapNcNameT(_SoapNcName *intf, bool addRef = false) : TComInterface<_SoapNcName>(intf, addRef) {}
  TCOM_SoapNcNameT(const TCOM_SoapNcNameT& src) : TComInterface<_SoapNcName>(src) {}
  TCOM_SoapNcNameT& operator=(const TCOM_SoapNcNameT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapNcNameT<_SoapNcName> TCOM_SoapNcName;

// *********************************************************************//
// DispIntf:  _SoapNcName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {725CDAF7-B739-35C1-8463-E2A923E1F618}
// *********************************************************************//
template<class T>
class _SoapNcNameDispT : public TAutoDriver<_SoapNcName>
{
public:
  _SoapNcNameDispT(){}

  _SoapNcNameDispT(_SoapNcName *pintf)
  {
    TAutoDriver<_SoapNcName>::Bind(pintf, false);
  }

  _SoapNcNameDispT(_SoapNcNamePtr pintf)
  {
    TAutoDriver<_SoapNcName>::Bind(pintf, true);
  }

  _SoapNcNameDispT& operator=(_SoapNcName *pintf)
  {
    TAutoDriver<_SoapNcName>::Bind(pintf, false);
    return *this;
  }

  _SoapNcNameDispT& operator=(_SoapNcNamePtr pintf)
  {
    TAutoDriver<_SoapNcName>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapNcName));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapNcName);
  }


};
typedef _SoapNcNameDispT<_SoapNcName> _SoapNcNameDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapId
// Interface: _SoapId
// *********************************************************************//
template <class T /* _SoapId */ >
class TCOM_SoapIdT : public TComInterface<_SoapId>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapIdT() {}
  TCOM_SoapIdT(_SoapId *intf, bool addRef = false) : TComInterface<_SoapId>(intf, addRef) {}
  TCOM_SoapIdT(const TCOM_SoapIdT& src) : TComInterface<_SoapId>(src) {}
  TCOM_SoapIdT& operator=(const TCOM_SoapIdT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapIdT<_SoapId> TCOM_SoapId;

// *********************************************************************//
// DispIntf:  _SoapId
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6A46B6A2-2D2C-3C67-AF67-AAE0175F17AE}
// *********************************************************************//
template<class T>
class _SoapIdDispT : public TAutoDriver<_SoapId>
{
public:
  _SoapIdDispT(){}

  _SoapIdDispT(_SoapId *pintf)
  {
    TAutoDriver<_SoapId>::Bind(pintf, false);
  }

  _SoapIdDispT(_SoapIdPtr pintf)
  {
    TAutoDriver<_SoapId>::Bind(pintf, true);
  }

  _SoapIdDispT& operator=(_SoapId *pintf)
  {
    TAutoDriver<_SoapId>::Bind(pintf, false);
    return *this;
  }

  _SoapIdDispT& operator=(_SoapIdPtr pintf)
  {
    TAutoDriver<_SoapId>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapId));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapId);
  }


};
typedef _SoapIdDispT<_SoapId> _SoapIdDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapIdref
// Interface: _SoapIdref
// *********************************************************************//
template <class T /* _SoapIdref */ >
class TCOM_SoapIdrefT : public TComInterface<_SoapIdref>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapIdrefT() {}
  TCOM_SoapIdrefT(_SoapIdref *intf, bool addRef = false) : TComInterface<_SoapIdref>(intf, addRef) {}
  TCOM_SoapIdrefT(const TCOM_SoapIdrefT& src) : TComInterface<_SoapIdref>(src) {}
  TCOM_SoapIdrefT& operator=(const TCOM_SoapIdrefT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapIdrefT<_SoapIdref> TCOM_SoapIdref;

// *********************************************************************//
// DispIntf:  _SoapIdref
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7DB7FD83-DE89-38E1-9645-D4CABDE694C0}
// *********************************************************************//
template<class T>
class _SoapIdrefDispT : public TAutoDriver<_SoapIdref>
{
public:
  _SoapIdrefDispT(){}

  _SoapIdrefDispT(_SoapIdref *pintf)
  {
    TAutoDriver<_SoapIdref>::Bind(pintf, false);
  }

  _SoapIdrefDispT(_SoapIdrefPtr pintf)
  {
    TAutoDriver<_SoapIdref>::Bind(pintf, true);
  }

  _SoapIdrefDispT& operator=(_SoapIdref *pintf)
  {
    TAutoDriver<_SoapIdref>::Bind(pintf, false);
    return *this;
  }

  _SoapIdrefDispT& operator=(_SoapIdrefPtr pintf)
  {
    TAutoDriver<_SoapIdref>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapIdref));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapIdref);
  }


};
typedef _SoapIdrefDispT<_SoapIdref> _SoapIdrefDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapEntity
// Interface: _SoapEntity
// *********************************************************************//
template <class T /* _SoapEntity */ >
class TCOM_SoapEntityT : public TComInterface<_SoapEntity>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapEntityT() {}
  TCOM_SoapEntityT(_SoapEntity *intf, bool addRef = false) : TComInterface<_SoapEntity>(intf, addRef) {}
  TCOM_SoapEntityT(const TCOM_SoapEntityT& src) : TComInterface<_SoapEntity>(src) {}
  TCOM_SoapEntityT& operator=(const TCOM_SoapEntityT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapEntityT<_SoapEntity> TCOM_SoapEntity;

// *********************************************************************//
// DispIntf:  _SoapEntity
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {37171746-B784-3586-A7D5-692A7604A66B}
// *********************************************************************//
template<class T>
class _SoapEntityDispT : public TAutoDriver<_SoapEntity>
{
public:
  _SoapEntityDispT(){}

  _SoapEntityDispT(_SoapEntity *pintf)
  {
    TAutoDriver<_SoapEntity>::Bind(pintf, false);
  }

  _SoapEntityDispT(_SoapEntityPtr pintf)
  {
    TAutoDriver<_SoapEntity>::Bind(pintf, true);
  }

  _SoapEntityDispT& operator=(_SoapEntity *pintf)
  {
    TAutoDriver<_SoapEntity>::Bind(pintf, false);
    return *this;
  }

  _SoapEntityDispT& operator=(_SoapEntityPtr pintf)
  {
    TAutoDriver<_SoapEntity>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapEntity));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapEntity);
  }


};
typedef _SoapEntityDispT<_SoapEntity> _SoapEntityDisp;

// *********************************************************************//
// SmartIntf: TCOM_SynchronizationAttribute
// Interface: _SynchronizationAttribute
// *********************************************************************//
template <class T /* _SynchronizationAttribute */ >
class TCOM_SynchronizationAttributeT : public TComInterface<_SynchronizationAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SynchronizationAttributeT() {}
  TCOM_SynchronizationAttributeT(_SynchronizationAttribute *intf, bool addRef = false) : TComInterface<_SynchronizationAttribute>(intf, addRef) {}
  TCOM_SynchronizationAttributeT(const TCOM_SynchronizationAttributeT& src) : TComInterface<_SynchronizationAttribute>(src) {}
  TCOM_SynchronizationAttributeT& operator=(const TCOM_SynchronizationAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SynchronizationAttributeT<_SynchronizationAttribute> TCOM_SynchronizationAttribute;

// *********************************************************************//
// DispIntf:  _SynchronizationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2D985674-231C-33D4-B14D-F3A6BD2EBE19}
// *********************************************************************//
template<class T>
class _SynchronizationAttributeDispT : public TAutoDriver<_SynchronizationAttribute>
{
public:
  _SynchronizationAttributeDispT(){}

  _SynchronizationAttributeDispT(_SynchronizationAttribute *pintf)
  {
    TAutoDriver<_SynchronizationAttribute>::Bind(pintf, false);
  }

  _SynchronizationAttributeDispT(_SynchronizationAttributePtr pintf)
  {
    TAutoDriver<_SynchronizationAttribute>::Bind(pintf, true);
  }

  _SynchronizationAttributeDispT& operator=(_SynchronizationAttribute *pintf)
  {
    TAutoDriver<_SynchronizationAttribute>::Bind(pintf, false);
    return *this;
  }

  _SynchronizationAttributeDispT& operator=(_SynchronizationAttributePtr pintf)
  {
    TAutoDriver<_SynchronizationAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SynchronizationAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SynchronizationAttribute);
  }


};
typedef _SynchronizationAttributeDispT<_SynchronizationAttribute> _SynchronizationAttributeDisp;

typedef TComInterface<ITrackingHandler>  TCOMITrackingHandler;

// *********************************************************************//
// DispIntf:  ITrackingHandler
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {03EC7D10-17A5-3585-9A2E-0596FCAC3870}
// *********************************************************************//
template<class T>
class ITrackingHandlerDispT : public TAutoDriver<ITrackingHandler>
{
public:
  ITrackingHandlerDispT(){}

  ITrackingHandlerDispT(ITrackingHandler *pintf)
  {
    TAutoDriver<ITrackingHandler>::Bind(pintf, false);
  }

  ITrackingHandlerDispT(ITrackingHandlerPtr pintf)
  {
    TAutoDriver<ITrackingHandler>::Bind(pintf, true);
  }

  ITrackingHandlerDispT& operator=(ITrackingHandler *pintf)
  {
    TAutoDriver<ITrackingHandler>::Bind(pintf, false);
    return *this;
  }

  ITrackingHandlerDispT& operator=(ITrackingHandlerPtr pintf)
  {
    TAutoDriver<ITrackingHandler>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall MarshaledObject(TVariantInParam obj/*[in]*/, 
                                             Mscorlib_tlb::_ObjRefPtr or/*[in]*/);
  HRESULT         __fastcall UnmarshaledObject(TVariantInParam obj/*[in]*/, 
                                               Mscorlib_tlb::_ObjRefPtr or/*[in]*/);
  HRESULT         __fastcall DisconnectedObject(TVariantInParam obj/*[in]*/);

};
typedef ITrackingHandlerDispT<ITrackingHandler> ITrackingHandlerDisp;

// *********************************************************************//
// SmartIntf: TCOM_TrackingServices
// Interface: _TrackingServices
// *********************************************************************//
template <class T /* _TrackingServices */ >
class TCOM_TrackingServicesT : public TComInterface<_TrackingServices>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TrackingServicesT() {}
  TCOM_TrackingServicesT(_TrackingServices *intf, bool addRef = false) : TComInterface<_TrackingServices>(intf, addRef) {}
  TCOM_TrackingServicesT(const TCOM_TrackingServicesT& src) : TComInterface<_TrackingServices>(src) {}
  TCOM_TrackingServicesT& operator=(const TCOM_TrackingServicesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TrackingServicesT<_TrackingServices> TCOM_TrackingServices;

// *********************************************************************//
// DispIntf:  _TrackingServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F51728F2-2DEF-308C-874A-CBB1BAA9CF9E}
// *********************************************************************//
template<class T>
class _TrackingServicesDispT : public TAutoDriver<_TrackingServices>
{
public:
  _TrackingServicesDispT(){}

  _TrackingServicesDispT(_TrackingServices *pintf)
  {
    TAutoDriver<_TrackingServices>::Bind(pintf, false);
  }

  _TrackingServicesDispT(_TrackingServicesPtr pintf)
  {
    TAutoDriver<_TrackingServices>::Bind(pintf, true);
  }

  _TrackingServicesDispT& operator=(_TrackingServices *pintf)
  {
    TAutoDriver<_TrackingServices>::Bind(pintf, false);
    return *this;
  }

  _TrackingServicesDispT& operator=(_TrackingServicesPtr pintf)
  {
    TAutoDriver<_TrackingServices>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TrackingServices));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TrackingServices);
  }


};
typedef _TrackingServicesDispT<_TrackingServices> _TrackingServicesDisp;

// *********************************************************************//
// SmartIntf: TCOM_UrlAttribute
// Interface: _UrlAttribute
// *********************************************************************//
template <class T /* _UrlAttribute */ >
class TCOM_UrlAttributeT : public TComInterface<_UrlAttribute>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UrlAttributeT() {}
  TCOM_UrlAttributeT(_UrlAttribute *intf, bool addRef = false) : TComInterface<_UrlAttribute>(intf, addRef) {}
  TCOM_UrlAttributeT(const TCOM_UrlAttributeT& src) : TComInterface<_UrlAttribute>(src) {}
  TCOM_UrlAttributeT& operator=(const TCOM_UrlAttributeT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UrlAttributeT<_UrlAttribute> TCOM_UrlAttribute;

// *********************************************************************//
// DispIntf:  _UrlAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {717105A3-739B-3BC3-A2B7-AD215903FAD2}
// *********************************************************************//
template<class T>
class _UrlAttributeDispT : public TAutoDriver<_UrlAttribute>
{
public:
  _UrlAttributeDispT(){}

  _UrlAttributeDispT(_UrlAttribute *pintf)
  {
    TAutoDriver<_UrlAttribute>::Bind(pintf, false);
  }

  _UrlAttributeDispT(_UrlAttributePtr pintf)
  {
    TAutoDriver<_UrlAttribute>::Bind(pintf, true);
  }

  _UrlAttributeDispT& operator=(_UrlAttribute *pintf)
  {
    TAutoDriver<_UrlAttribute>::Bind(pintf, false);
    return *this;
  }

  _UrlAttributeDispT& operator=(_UrlAttributePtr pintf)
  {
    TAutoDriver<_UrlAttribute>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UrlAttribute));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UrlAttribute);
  }


};
typedef _UrlAttributeDispT<_UrlAttribute> _UrlAttributeDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorage
// Interface: _IsolatedStorage
// *********************************************************************//
template <class T /* _IsolatedStorage */ >
class TCOM_IsolatedStorageT : public TComInterface<_IsolatedStorage>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStorageT() {}
  TCOM_IsolatedStorageT(_IsolatedStorage *intf, bool addRef = false) : TComInterface<_IsolatedStorage>(intf, addRef) {}
  TCOM_IsolatedStorageT(const TCOM_IsolatedStorageT& src) : TComInterface<_IsolatedStorage>(src) {}
  TCOM_IsolatedStorageT& operator=(const TCOM_IsolatedStorageT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStorageT<_IsolatedStorage> TCOM_IsolatedStorage;

// *********************************************************************//
// DispIntf:  _IsolatedStorage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {34EC3BD7-F2F6-3C20-A639-804BFF89DF65}
// *********************************************************************//
template<class T>
class _IsolatedStorageDispT : public TAutoDriver<_IsolatedStorage>
{
public:
  _IsolatedStorageDispT(){}

  _IsolatedStorageDispT(_IsolatedStorage *pintf)
  {
    TAutoDriver<_IsolatedStorage>::Bind(pintf, false);
  }

  _IsolatedStorageDispT(_IsolatedStoragePtr pintf)
  {
    TAutoDriver<_IsolatedStorage>::Bind(pintf, true);
  }

  _IsolatedStorageDispT& operator=(_IsolatedStorage *pintf)
  {
    TAutoDriver<_IsolatedStorage>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStorageDispT& operator=(_IsolatedStoragePtr pintf)
  {
    TAutoDriver<_IsolatedStorage>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStorage));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStorage);
  }


};
typedef _IsolatedStorageDispT<_IsolatedStorage> _IsolatedStorageDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFile
// Interface: _IsolatedStorageFile
// *********************************************************************//
template <class T /* _IsolatedStorageFile */ >
class TCOM_IsolatedStorageFileT : public TComInterface<_IsolatedStorageFile>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStorageFileT() {}
  TCOM_IsolatedStorageFileT(_IsolatedStorageFile *intf, bool addRef = false) : TComInterface<_IsolatedStorageFile>(intf, addRef) {}
  TCOM_IsolatedStorageFileT(const TCOM_IsolatedStorageFileT& src) : TComInterface<_IsolatedStorageFile>(src) {}
  TCOM_IsolatedStorageFileT& operator=(const TCOM_IsolatedStorageFileT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStorageFileT<_IsolatedStorageFile> TCOM_IsolatedStorageFile;

// *********************************************************************//
// DispIntf:  _IsolatedStorageFile
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6BBB7DEE-186F-3D51-9486-BE0A71E915CE}
// *********************************************************************//
template<class T>
class _IsolatedStorageFileDispT : public TAutoDriver<_IsolatedStorageFile>
{
public:
  _IsolatedStorageFileDispT(){}

  _IsolatedStorageFileDispT(_IsolatedStorageFile *pintf)
  {
    TAutoDriver<_IsolatedStorageFile>::Bind(pintf, false);
  }

  _IsolatedStorageFileDispT(_IsolatedStorageFilePtr pintf)
  {
    TAutoDriver<_IsolatedStorageFile>::Bind(pintf, true);
  }

  _IsolatedStorageFileDispT& operator=(_IsolatedStorageFile *pintf)
  {
    TAutoDriver<_IsolatedStorageFile>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStorageFileDispT& operator=(_IsolatedStorageFilePtr pintf)
  {
    TAutoDriver<_IsolatedStorageFile>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStorageFile));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStorageFile);
  }


};
typedef _IsolatedStorageFileDispT<_IsolatedStorageFile> _IsolatedStorageFileDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFileStream
// Interface: _IsolatedStorageFileStream
// *********************************************************************//
template <class T /* _IsolatedStorageFileStream */ >
class TCOM_IsolatedStorageFileStreamT : public TComInterface<_IsolatedStorageFileStream>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStorageFileStreamT() {}
  TCOM_IsolatedStorageFileStreamT(_IsolatedStorageFileStream *intf, bool addRef = false) : TComInterface<_IsolatedStorageFileStream>(intf, addRef) {}
  TCOM_IsolatedStorageFileStreamT(const TCOM_IsolatedStorageFileStreamT& src) : TComInterface<_IsolatedStorageFileStream>(src) {}
  TCOM_IsolatedStorageFileStreamT& operator=(const TCOM_IsolatedStorageFileStreamT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStorageFileStreamT<_IsolatedStorageFileStream> TCOM_IsolatedStorageFileStream;

// *********************************************************************//
// DispIntf:  _IsolatedStorageFileStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {68D5592B-47C8-381A-8D51-3925C16CF025}
// *********************************************************************//
template<class T>
class _IsolatedStorageFileStreamDispT : public TAutoDriver<_IsolatedStorageFileStream>
{
public:
  _IsolatedStorageFileStreamDispT(){}

  _IsolatedStorageFileStreamDispT(_IsolatedStorageFileStream *pintf)
  {
    TAutoDriver<_IsolatedStorageFileStream>::Bind(pintf, false);
  }

  _IsolatedStorageFileStreamDispT(_IsolatedStorageFileStreamPtr pintf)
  {
    TAutoDriver<_IsolatedStorageFileStream>::Bind(pintf, true);
  }

  _IsolatedStorageFileStreamDispT& operator=(_IsolatedStorageFileStream *pintf)
  {
    TAutoDriver<_IsolatedStorageFileStream>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStorageFileStreamDispT& operator=(_IsolatedStorageFileStreamPtr pintf)
  {
    TAutoDriver<_IsolatedStorageFileStream>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStorageFileStream));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStorageFileStream);
  }


};
typedef _IsolatedStorageFileStreamDispT<_IsolatedStorageFileStream> _IsolatedStorageFileStreamDisp;

// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageException
// Interface: _IsolatedStorageException
// *********************************************************************//
template <class T /* _IsolatedStorageException */ >
class TCOM_IsolatedStorageExceptionT : public TComInterface<_IsolatedStorageException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_IsolatedStorageExceptionT() {}
  TCOM_IsolatedStorageExceptionT(_IsolatedStorageException *intf, bool addRef = false) : TComInterface<_IsolatedStorageException>(intf, addRef) {}
  TCOM_IsolatedStorageExceptionT(const TCOM_IsolatedStorageExceptionT& src) : TComInterface<_IsolatedStorageException>(src) {}
  TCOM_IsolatedStorageExceptionT& operator=(const TCOM_IsolatedStorageExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_IsolatedStorageExceptionT<_IsolatedStorageException> TCOM_IsolatedStorageException;

// *********************************************************************//
// DispIntf:  _IsolatedStorageException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AEC2B0DE-9898-3607-B845-63E2E307CB5F}
// *********************************************************************//
template<class T>
class _IsolatedStorageExceptionDispT : public TAutoDriver<_IsolatedStorageException>
{
public:
  _IsolatedStorageExceptionDispT(){}

  _IsolatedStorageExceptionDispT(_IsolatedStorageException *pintf)
  {
    TAutoDriver<_IsolatedStorageException>::Bind(pintf, false);
  }

  _IsolatedStorageExceptionDispT(_IsolatedStorageExceptionPtr pintf)
  {
    TAutoDriver<_IsolatedStorageException>::Bind(pintf, true);
  }

  _IsolatedStorageExceptionDispT& operator=(_IsolatedStorageException *pintf)
  {
    TAutoDriver<_IsolatedStorageException>::Bind(pintf, false);
    return *this;
  }

  _IsolatedStorageExceptionDispT& operator=(_IsolatedStorageExceptionPtr pintf)
  {
    TAutoDriver<_IsolatedStorageException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_IsolatedStorageException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_IsolatedStorageException);
  }


};
typedef _IsolatedStorageExceptionDispT<_IsolatedStorageException> _IsolatedStorageExceptionDisp;

typedef TComInterface<INormalizeForIsolatedStorage>  TCOMINormalizeForIsolatedStorage;

// *********************************************************************//
// DispIntf:  INormalizeForIsolatedStorage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F5006531-D4D7-319E-9EDA-9B4B65AD8D4F}
// *********************************************************************//
template<class T>
class INormalizeForIsolatedStorageDispT : public TAutoDriver<INormalizeForIsolatedStorage>
{
public:
  INormalizeForIsolatedStorageDispT(){}

  INormalizeForIsolatedStorageDispT(INormalizeForIsolatedStorage *pintf)
  {
    TAutoDriver<INormalizeForIsolatedStorage>::Bind(pintf, false);
  }

  INormalizeForIsolatedStorageDispT(INormalizeForIsolatedStoragePtr pintf)
  {
    TAutoDriver<INormalizeForIsolatedStorage>::Bind(pintf, true);
  }

  INormalizeForIsolatedStorageDispT& operator=(INormalizeForIsolatedStorage *pintf)
  {
    TAutoDriver<INormalizeForIsolatedStorage>::Bind(pintf, false);
    return *this;
  }

  INormalizeForIsolatedStorageDispT& operator=(INormalizeForIsolatedStoragePtr pintf)
  {
    TAutoDriver<INormalizeForIsolatedStorage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall Normalize(TVariant* pRetVal/*[out,retval]*/);
  TVariant        __fastcall Normalize(void);

};
typedef INormalizeForIsolatedStorageDispT<INormalizeForIsolatedStorage> INormalizeForIsolatedStorageDisp;

typedef TComInterface<ISoapMessage>  TCOMISoapMessage;

// *********************************************************************//
// DispIntf:  ISoapMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E699146C-7793-3455-9BEF-964C90D8F995}
// *********************************************************************//
template<class T>
class ISoapMessageDispT : public TAutoDriver<ISoapMessage>
{
public:
  ISoapMessageDispT(){}

  ISoapMessageDispT(ISoapMessage *pintf)
  {
    TAutoDriver<ISoapMessage>::Bind(pintf, false);
  }

  ISoapMessageDispT(ISoapMessagePtr pintf)
  {
    TAutoDriver<ISoapMessage>::Bind(pintf, true);
  }

  ISoapMessageDispT& operator=(ISoapMessage *pintf)
  {
    TAutoDriver<ISoapMessage>::Bind(pintf, false);
    return *this;
  }

  ISoapMessageDispT& operator=(ISoapMessagePtr pintf)
  {
    TAutoDriver<ISoapMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_ParamNames(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_ParamNames(void);
  HRESULT         __fastcall set_ParamNames(LPSAFEARRAY pRetVal/*[in]*/);
  HRESULT         __fastcall get_ParamValues(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_ParamValues(void);
  HRESULT         __fastcall set_ParamValues(LPSAFEARRAY pRetVal/*[in]*/);
  HRESULT         __fastcall get_ParamTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_ParamTypes(void);
  HRESULT         __fastcall set_ParamTypes(LPSAFEARRAY pRetVal/*[in]*/);
  HRESULT         __fastcall get_MethodName(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_MethodName(void);
  HRESULT         __fastcall set_MethodName(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_XmlNameSpace(BSTR* pRetVal/*[out,retval]*/);
  BSTR            __fastcall get_XmlNameSpace(void);
  HRESULT         __fastcall set_XmlNameSpace(BSTR pRetVal/*[in]*/);
  HRESULT         __fastcall get_headers(LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall get_headers(void);
  HRESULT         __fastcall set_headers(LPSAFEARRAY pRetVal/*[in]*/);

  __property   BSTR            MethodName = {read = get_MethodName, write = set_MethodName};
  __property   BSTR            XmlNameSpace = {read = get_XmlNameSpace, write = set_XmlNameSpace};
};
typedef ISoapMessageDispT<ISoapMessage> ISoapMessageDisp;

// *********************************************************************//
// SmartIntf: TCOM_InternalRM
// Interface: _InternalRM
// *********************************************************************//
template <class T /* _InternalRM */ >
class TCOM_InternalRMT : public TComInterface<_InternalRM>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InternalRMT() {}
  TCOM_InternalRMT(_InternalRM *intf, bool addRef = false) : TComInterface<_InternalRM>(intf, addRef) {}
  TCOM_InternalRMT(const TCOM_InternalRMT& src) : TComInterface<_InternalRM>(src) {}
  TCOM_InternalRMT& operator=(const TCOM_InternalRMT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InternalRMT<_InternalRM> TCOM_InternalRM;

// *********************************************************************//
// DispIntf:  _InternalRM
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {361A5049-1BC8-35A9-946A-53A877902F25}
// *********************************************************************//
template<class T>
class _InternalRMDispT : public TAutoDriver<_InternalRM>
{
public:
  _InternalRMDispT(){}

  _InternalRMDispT(_InternalRM *pintf)
  {
    TAutoDriver<_InternalRM>::Bind(pintf, false);
  }

  _InternalRMDispT(_InternalRMPtr pintf)
  {
    TAutoDriver<_InternalRM>::Bind(pintf, true);
  }

  _InternalRMDispT& operator=(_InternalRM *pintf)
  {
    TAutoDriver<_InternalRM>::Bind(pintf, false);
    return *this;
  }

  _InternalRMDispT& operator=(_InternalRMPtr pintf)
  {
    TAutoDriver<_InternalRM>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InternalRM));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InternalRM);
  }


};
typedef _InternalRMDispT<_InternalRM> _InternalRMDisp;

// *********************************************************************//
// SmartIntf: TCOM_InternalST
// Interface: _InternalST
// *********************************************************************//
template <class T /* _InternalST */ >
class TCOM_InternalSTT : public TComInterface<_InternalST>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_InternalSTT() {}
  TCOM_InternalSTT(_InternalST *intf, bool addRef = false) : TComInterface<_InternalST>(intf, addRef) {}
  TCOM_InternalSTT(const TCOM_InternalSTT& src) : TComInterface<_InternalST>(src) {}
  TCOM_InternalSTT& operator=(const TCOM_InternalSTT& src) { Bind(src, true); return *this;}


};
typedef TCOM_InternalSTT<_InternalST> TCOM_InternalST;

// *********************************************************************//
// DispIntf:  _InternalST
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A864FB13-F945-3DC0-A01C-B903F944FC97}
// *********************************************************************//
template<class T>
class _InternalSTDispT : public TAutoDriver<_InternalST>
{
public:
  _InternalSTDispT(){}

  _InternalSTDispT(_InternalST *pintf)
  {
    TAutoDriver<_InternalST>::Bind(pintf, false);
  }

  _InternalSTDispT(_InternalSTPtr pintf)
  {
    TAutoDriver<_InternalST>::Bind(pintf, true);
  }

  _InternalSTDispT& operator=(_InternalST *pintf)
  {
    TAutoDriver<_InternalST>::Bind(pintf, false);
    return *this;
  }

  _InternalSTDispT& operator=(_InternalSTPtr pintf)
  {
    TAutoDriver<_InternalST>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_InternalST));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_InternalST);
  }


};
typedef _InternalSTDispT<_InternalST> _InternalSTDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapMessage
// Interface: _SoapMessage
// *********************************************************************//
template <class T /* _SoapMessage */ >
class TCOM_SoapMessageT : public TComInterface<_SoapMessage>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapMessageT() {}
  TCOM_SoapMessageT(_SoapMessage *intf, bool addRef = false) : TComInterface<_SoapMessage>(intf, addRef) {}
  TCOM_SoapMessageT(const TCOM_SoapMessageT& src) : TComInterface<_SoapMessage>(src) {}
  TCOM_SoapMessageT& operator=(const TCOM_SoapMessageT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapMessageT<_SoapMessage> TCOM_SoapMessage;

// *********************************************************************//
// DispIntf:  _SoapMessage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BC0847B2-BD5C-37B3-BA67-7D2D54B17238}
// *********************************************************************//
template<class T>
class _SoapMessageDispT : public TAutoDriver<_SoapMessage>
{
public:
  _SoapMessageDispT(){}

  _SoapMessageDispT(_SoapMessage *pintf)
  {
    TAutoDriver<_SoapMessage>::Bind(pintf, false);
  }

  _SoapMessageDispT(_SoapMessagePtr pintf)
  {
    TAutoDriver<_SoapMessage>::Bind(pintf, true);
  }

  _SoapMessageDispT& operator=(_SoapMessage *pintf)
  {
    TAutoDriver<_SoapMessage>::Bind(pintf, false);
    return *this;
  }

  _SoapMessageDispT& operator=(_SoapMessagePtr pintf)
  {
    TAutoDriver<_SoapMessage>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapMessage));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapMessage);
  }


};
typedef _SoapMessageDispT<_SoapMessage> _SoapMessageDisp;

// *********************************************************************//
// SmartIntf: TCOM_SoapFault
// Interface: _SoapFault
// *********************************************************************//
template <class T /* _SoapFault */ >
class TCOM_SoapFaultT : public TComInterface<_SoapFault>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SoapFaultT() {}
  TCOM_SoapFaultT(_SoapFault *intf, bool addRef = false) : TComInterface<_SoapFault>(intf, addRef) {}
  TCOM_SoapFaultT(const TCOM_SoapFaultT& src) : TComInterface<_SoapFault>(src) {}
  TCOM_SoapFaultT& operator=(const TCOM_SoapFaultT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SoapFaultT<_SoapFault> TCOM_SoapFault;

// *********************************************************************//
// DispIntf:  _SoapFault
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1C392FC-314C-39D5-8DE6-1F8EBCA0A1E2}
// *********************************************************************//
template<class T>
class _SoapFaultDispT : public TAutoDriver<_SoapFault>
{
public:
  _SoapFaultDispT(){}

  _SoapFaultDispT(_SoapFault *pintf)
  {
    TAutoDriver<_SoapFault>::Bind(pintf, false);
  }

  _SoapFaultDispT(_SoapFaultPtr pintf)
  {
    TAutoDriver<_SoapFault>::Bind(pintf, true);
  }

  _SoapFaultDispT& operator=(_SoapFault *pintf)
  {
    TAutoDriver<_SoapFault>::Bind(pintf, false);
    return *this;
  }

  _SoapFaultDispT& operator=(_SoapFaultPtr pintf)
  {
    TAutoDriver<_SoapFault>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SoapFault));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SoapFault);
  }


};
typedef _SoapFaultDispT<_SoapFault> _SoapFaultDisp;

// *********************************************************************//
// SmartIntf: TCOM_ServerFault
// Interface: _ServerFault
// *********************************************************************//
template <class T /* _ServerFault */ >
class TCOM_ServerFaultT : public TComInterface<_ServerFault>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ServerFaultT() {}
  TCOM_ServerFaultT(_ServerFault *intf, bool addRef = false) : TComInterface<_ServerFault>(intf, addRef) {}
  TCOM_ServerFaultT(const TCOM_ServerFaultT& src) : TComInterface<_ServerFault>(src) {}
  TCOM_ServerFaultT& operator=(const TCOM_ServerFaultT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ServerFaultT<_ServerFault> TCOM_ServerFault;

// *********************************************************************//
// DispIntf:  _ServerFault
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {02D1BD78-3BB6-37AD-A9F8-F7D5DA273E4E}
// *********************************************************************//
template<class T>
class _ServerFaultDispT : public TAutoDriver<_ServerFault>
{
public:
  _ServerFaultDispT(){}

  _ServerFaultDispT(_ServerFault *pintf)
  {
    TAutoDriver<_ServerFault>::Bind(pintf, false);
  }

  _ServerFaultDispT(_ServerFaultPtr pintf)
  {
    TAutoDriver<_ServerFault>::Bind(pintf, true);
  }

  _ServerFaultDispT& operator=(_ServerFault *pintf)
  {
    TAutoDriver<_ServerFault>::Bind(pintf, false);
    return *this;
  }

  _ServerFaultDispT& operator=(_ServerFaultPtr pintf)
  {
    TAutoDriver<_ServerFault>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ServerFault));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ServerFault);
  }


};
typedef _ServerFaultDispT<_ServerFault> _ServerFaultDisp;

// *********************************************************************//
// SmartIntf: TCOM_BinaryFormatter
// Interface: _BinaryFormatter
// *********************************************************************//
template <class T /* _BinaryFormatter */ >
class TCOM_BinaryFormatterT : public TComInterface<_BinaryFormatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_BinaryFormatterT() {}
  TCOM_BinaryFormatterT(_BinaryFormatter *intf, bool addRef = false) : TComInterface<_BinaryFormatter>(intf, addRef) {}
  TCOM_BinaryFormatterT(const TCOM_BinaryFormatterT& src) : TComInterface<_BinaryFormatter>(src) {}
  TCOM_BinaryFormatterT& operator=(const TCOM_BinaryFormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_BinaryFormatterT<_BinaryFormatter> TCOM_BinaryFormatter;

// *********************************************************************//
// DispIntf:  _BinaryFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3BCF0CB2-A849-375E-8189-1BA5F1F4A9B0}
// *********************************************************************//
template<class T>
class _BinaryFormatterDispT : public TAutoDriver<_BinaryFormatter>
{
public:
  _BinaryFormatterDispT(){}

  _BinaryFormatterDispT(_BinaryFormatter *pintf)
  {
    TAutoDriver<_BinaryFormatter>::Bind(pintf, false);
  }

  _BinaryFormatterDispT(_BinaryFormatterPtr pintf)
  {
    TAutoDriver<_BinaryFormatter>::Bind(pintf, true);
  }

  _BinaryFormatterDispT& operator=(_BinaryFormatter *pintf)
  {
    TAutoDriver<_BinaryFormatter>::Bind(pintf, false);
    return *this;
  }

  _BinaryFormatterDispT& operator=(_BinaryFormatterPtr pintf)
  {
    TAutoDriver<_BinaryFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_BinaryFormatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_BinaryFormatter);
  }


};
typedef _BinaryFormatterDispT<_BinaryFormatter> _BinaryFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_AssemblyBuilder
// Interface: _AssemblyBuilder
// *********************************************************************//
template <class T /* _AssemblyBuilder */ >
class TCOM_AssemblyBuilderT : public TComInterface<_AssemblyBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AssemblyBuilderT() {}
  TCOM_AssemblyBuilderT(_AssemblyBuilder *intf, bool addRef = false) : TComInterface<_AssemblyBuilder>(intf, addRef) {}
  TCOM_AssemblyBuilderT(const TCOM_AssemblyBuilderT& src) : TComInterface<_AssemblyBuilder>(src) {}
  TCOM_AssemblyBuilderT& operator=(const TCOM_AssemblyBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_AssemblyBuilderT<_AssemblyBuilder> TCOM_AssemblyBuilder;

// *********************************************************************//
// SmartIntf: TCOM_ConstructorBuilder
// Interface: _ConstructorBuilder
// *********************************************************************//
template <class T /* _ConstructorBuilder */ >
class TCOM_ConstructorBuilderT : public TComInterface<_ConstructorBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ConstructorBuilderT() {}
  TCOM_ConstructorBuilderT(_ConstructorBuilder *intf, bool addRef = false) : TComInterface<_ConstructorBuilder>(intf, addRef) {}
  TCOM_ConstructorBuilderT(const TCOM_ConstructorBuilderT& src) : TComInterface<_ConstructorBuilder>(src) {}
  TCOM_ConstructorBuilderT& operator=(const TCOM_ConstructorBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ConstructorBuilderT<_ConstructorBuilder> TCOM_ConstructorBuilder;

// *********************************************************************//
// SmartIntf: TCOM_CustomAttributeBuilder
// Interface: _CustomAttributeBuilder
// *********************************************************************//
template <class T /* _CustomAttributeBuilder */ >
class TCOM_CustomAttributeBuilderT : public TComInterface<_CustomAttributeBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CustomAttributeBuilderT() {}
  TCOM_CustomAttributeBuilderT(_CustomAttributeBuilder *intf, bool addRef = false) : TComInterface<_CustomAttributeBuilder>(intf, addRef) {}
  TCOM_CustomAttributeBuilderT(const TCOM_CustomAttributeBuilderT& src) : TComInterface<_CustomAttributeBuilder>(src) {}
  TCOM_CustomAttributeBuilderT& operator=(const TCOM_CustomAttributeBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_CustomAttributeBuilderT<_CustomAttributeBuilder> TCOM_CustomAttributeBuilder;

// *********************************************************************//
// SmartIntf: TCOM_EnumBuilder
// Interface: _EnumBuilder
// *********************************************************************//
template <class T /* _EnumBuilder */ >
class TCOM_EnumBuilderT : public TComInterface<_EnumBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EnumBuilderT() {}
  TCOM_EnumBuilderT(_EnumBuilder *intf, bool addRef = false) : TComInterface<_EnumBuilder>(intf, addRef) {}
  TCOM_EnumBuilderT(const TCOM_EnumBuilderT& src) : TComInterface<_EnumBuilder>(src) {}
  TCOM_EnumBuilderT& operator=(const TCOM_EnumBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_EnumBuilderT<_EnumBuilder> TCOM_EnumBuilder;

// *********************************************************************//
// SmartIntf: TCOM_EventBuilder
// Interface: _EventBuilder
// *********************************************************************//
template <class T /* _EventBuilder */ >
class TCOM_EventBuilderT : public TComInterface<_EventBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_EventBuilderT() {}
  TCOM_EventBuilderT(_EventBuilder *intf, bool addRef = false) : TComInterface<_EventBuilder>(intf, addRef) {}
  TCOM_EventBuilderT(const TCOM_EventBuilderT& src) : TComInterface<_EventBuilder>(src) {}
  TCOM_EventBuilderT& operator=(const TCOM_EventBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_EventBuilderT<_EventBuilder> TCOM_EventBuilder;

// *********************************************************************//
// SmartIntf: TCOM_FieldBuilder
// Interface: _FieldBuilder
// *********************************************************************//
template <class T /* _FieldBuilder */ >
class TCOM_FieldBuilderT : public TComInterface<_FieldBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FieldBuilderT() {}
  TCOM_FieldBuilderT(_FieldBuilder *intf, bool addRef = false) : TComInterface<_FieldBuilder>(intf, addRef) {}
  TCOM_FieldBuilderT(const TCOM_FieldBuilderT& src) : TComInterface<_FieldBuilder>(src) {}
  TCOM_FieldBuilderT& operator=(const TCOM_FieldBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_FieldBuilderT<_FieldBuilder> TCOM_FieldBuilder;

// *********************************************************************//
// SmartIntf: TCOM_ILGenerator
// Interface: _ILGenerator
// *********************************************************************//
template <class T /* _ILGenerator */ >
class TCOM_ILGeneratorT : public TComInterface<_ILGenerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ILGeneratorT() {}
  TCOM_ILGeneratorT(_ILGenerator *intf, bool addRef = false) : TComInterface<_ILGenerator>(intf, addRef) {}
  TCOM_ILGeneratorT(const TCOM_ILGeneratorT& src) : TComInterface<_ILGenerator>(src) {}
  TCOM_ILGeneratorT& operator=(const TCOM_ILGeneratorT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ILGeneratorT<_ILGenerator> TCOM_ILGenerator;

// *********************************************************************//
// SmartIntf: TCOM_LocalBuilder
// Interface: _LocalBuilder
// *********************************************************************//
template <class T /* _LocalBuilder */ >
class TCOM_LocalBuilderT : public TComInterface<_LocalBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_LocalBuilderT() {}
  TCOM_LocalBuilderT(_LocalBuilder *intf, bool addRef = false) : TComInterface<_LocalBuilder>(intf, addRef) {}
  TCOM_LocalBuilderT(const TCOM_LocalBuilderT& src) : TComInterface<_LocalBuilder>(src) {}
  TCOM_LocalBuilderT& operator=(const TCOM_LocalBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_LocalBuilderT<_LocalBuilder> TCOM_LocalBuilder;

// *********************************************************************//
// SmartIntf: TCOM_MethodBuilder
// Interface: _MethodBuilder
// *********************************************************************//
template <class T /* _MethodBuilder */ >
class TCOM_MethodBuilderT : public TComInterface<_MethodBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodBuilderT() {}
  TCOM_MethodBuilderT(_MethodBuilder *intf, bool addRef = false) : TComInterface<_MethodBuilder>(intf, addRef) {}
  TCOM_MethodBuilderT(const TCOM_MethodBuilderT& src) : TComInterface<_MethodBuilder>(src) {}
  TCOM_MethodBuilderT& operator=(const TCOM_MethodBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_MethodBuilderT<_MethodBuilder> TCOM_MethodBuilder;

// *********************************************************************//
// SmartIntf: TCOM_MethodRental
// Interface: _MethodRental
// *********************************************************************//
template <class T /* _MethodRental */ >
class TCOM_MethodRentalT : public TComInterface<_MethodRental>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MethodRentalT() {}
  TCOM_MethodRentalT(_MethodRental *intf, bool addRef = false) : TComInterface<_MethodRental>(intf, addRef) {}
  TCOM_MethodRentalT(const TCOM_MethodRentalT& src) : TComInterface<_MethodRental>(src) {}
  TCOM_MethodRentalT& operator=(const TCOM_MethodRentalT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_MethodRentalT<_MethodRental> TCOM_MethodRental;

// *********************************************************************//
// SmartIntf: TCOM_ModuleBuilder
// Interface: _ModuleBuilder
// *********************************************************************//
template <class T /* _ModuleBuilder */ >
class TCOM_ModuleBuilderT : public TComInterface<_ModuleBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ModuleBuilderT() {}
  TCOM_ModuleBuilderT(_ModuleBuilder *intf, bool addRef = false) : TComInterface<_ModuleBuilder>(intf, addRef) {}
  TCOM_ModuleBuilderT(const TCOM_ModuleBuilderT& src) : TComInterface<_ModuleBuilder>(src) {}
  TCOM_ModuleBuilderT& operator=(const TCOM_ModuleBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ModuleBuilderT<_ModuleBuilder> TCOM_ModuleBuilder;

// *********************************************************************//
// SmartIntf: TCOM_ParameterBuilder
// Interface: _ParameterBuilder
// *********************************************************************//
template <class T /* _ParameterBuilder */ >
class TCOM_ParameterBuilderT : public TComInterface<_ParameterBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ParameterBuilderT() {}
  TCOM_ParameterBuilderT(_ParameterBuilder *intf, bool addRef = false) : TComInterface<_ParameterBuilder>(intf, addRef) {}
  TCOM_ParameterBuilderT(const TCOM_ParameterBuilderT& src) : TComInterface<_ParameterBuilder>(src) {}
  TCOM_ParameterBuilderT& operator=(const TCOM_ParameterBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_ParameterBuilderT<_ParameterBuilder> TCOM_ParameterBuilder;

// *********************************************************************//
// SmartIntf: TCOM_PropertyBuilder
// Interface: _PropertyBuilder
// *********************************************************************//
template <class T /* _PropertyBuilder */ >
class TCOM_PropertyBuilderT : public TComInterface<_PropertyBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PropertyBuilderT() {}
  TCOM_PropertyBuilderT(_PropertyBuilder *intf, bool addRef = false) : TComInterface<_PropertyBuilder>(intf, addRef) {}
  TCOM_PropertyBuilderT(const TCOM_PropertyBuilderT& src) : TComInterface<_PropertyBuilder>(src) {}
  TCOM_PropertyBuilderT& operator=(const TCOM_PropertyBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_PropertyBuilderT<_PropertyBuilder> TCOM_PropertyBuilder;

// *********************************************************************//
// SmartIntf: TCOM_SignatureHelper
// Interface: _SignatureHelper
// *********************************************************************//
template <class T /* _SignatureHelper */ >
class TCOM_SignatureHelperT : public TComInterface<_SignatureHelper>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SignatureHelperT() {}
  TCOM_SignatureHelperT(_SignatureHelper *intf, bool addRef = false) : TComInterface<_SignatureHelper>(intf, addRef) {}
  TCOM_SignatureHelperT(const TCOM_SignatureHelperT& src) : TComInterface<_SignatureHelper>(src) {}
  TCOM_SignatureHelperT& operator=(const TCOM_SignatureHelperT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_SignatureHelperT<_SignatureHelper> TCOM_SignatureHelper;

// *********************************************************************//
// SmartIntf: TCOM_TypeBuilder
// Interface: _TypeBuilder
// *********************************************************************//
template <class T /* _TypeBuilder */ >
class TCOM_TypeBuilderT : public TComInterface<_TypeBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TypeBuilderT() {}
  TCOM_TypeBuilderT(_TypeBuilder *intf, bool addRef = false) : TComInterface<_TypeBuilder>(intf, addRef) {}
  TCOM_TypeBuilderT(const TCOM_TypeBuilderT& src) : TComInterface<_TypeBuilder>(src) {}
  TCOM_TypeBuilderT& operator=(const TCOM_TypeBuilderT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/);
  HRESULT         __fastcall GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/);
  HRESULT         __fastcall GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/);
  HRESULT         __fastcall Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/);

};
typedef TCOM_TypeBuilderT<_TypeBuilder> TCOM_TypeBuilder;

// *********************************************************************//
// SmartIntf: TCOM_DynamicILInfo
// Interface: _DynamicILInfo
// *********************************************************************//
template <class T /* _DynamicILInfo */ >
class TCOM_DynamicILInfoT : public TComInterface<_DynamicILInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DynamicILInfoT() {}
  TCOM_DynamicILInfoT(_DynamicILInfo *intf, bool addRef = false) : TComInterface<_DynamicILInfo>(intf, addRef) {}
  TCOM_DynamicILInfoT(const TCOM_DynamicILInfoT& src) : TComInterface<_DynamicILInfo>(src) {}
  TCOM_DynamicILInfoT& operator=(const TCOM_DynamicILInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DynamicILInfoT<_DynamicILInfo> TCOM_DynamicILInfo;

// *********************************************************************//
// DispIntf:  _DynamicILInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0DAEAEE7-007B-3FCA-8755-A5C6C3158955}
// *********************************************************************//
template<class T>
class _DynamicILInfoDispT : public TAutoDriver<_DynamicILInfo>
{
public:
  _DynamicILInfoDispT(){}

  _DynamicILInfoDispT(_DynamicILInfo *pintf)
  {
    TAutoDriver<_DynamicILInfo>::Bind(pintf, false);
  }

  _DynamicILInfoDispT(_DynamicILInfoPtr pintf)
  {
    TAutoDriver<_DynamicILInfo>::Bind(pintf, true);
  }

  _DynamicILInfoDispT& operator=(_DynamicILInfo *pintf)
  {
    TAutoDriver<_DynamicILInfo>::Bind(pintf, false);
    return *this;
  }

  _DynamicILInfoDispT& operator=(_DynamicILInfoPtr pintf)
  {
    TAutoDriver<_DynamicILInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DynamicILInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DynamicILInfo);
  }


};
typedef _DynamicILInfoDispT<_DynamicILInfo> _DynamicILInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_DynamicMethod
// Interface: _DynamicMethod
// *********************************************************************//
template <class T /* _DynamicMethod */ >
class TCOM_DynamicMethodT : public TComInterface<_DynamicMethod>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DynamicMethodT() {}
  TCOM_DynamicMethodT(_DynamicMethod *intf, bool addRef = false) : TComInterface<_DynamicMethod>(intf, addRef) {}
  TCOM_DynamicMethodT(const TCOM_DynamicMethodT& src) : TComInterface<_DynamicMethod>(src) {}
  TCOM_DynamicMethodT& operator=(const TCOM_DynamicMethodT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DynamicMethodT<_DynamicMethod> TCOM_DynamicMethod;

// *********************************************************************//
// DispIntf:  _DynamicMethod
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EAAA2670-0FB1-33EA-852B-F1C97FED1797}
// *********************************************************************//
template<class T>
class _DynamicMethodDispT : public TAutoDriver<_DynamicMethod>
{
public:
  _DynamicMethodDispT(){}

  _DynamicMethodDispT(_DynamicMethod *pintf)
  {
    TAutoDriver<_DynamicMethod>::Bind(pintf, false);
  }

  _DynamicMethodDispT(_DynamicMethodPtr pintf)
  {
    TAutoDriver<_DynamicMethod>::Bind(pintf, true);
  }

  _DynamicMethodDispT& operator=(_DynamicMethod *pintf)
  {
    TAutoDriver<_DynamicMethod>::Bind(pintf, false);
    return *this;
  }

  _DynamicMethodDispT& operator=(_DynamicMethodPtr pintf)
  {
    TAutoDriver<_DynamicMethod>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DynamicMethod));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DynamicMethod);
  }


};
typedef _DynamicMethodDispT<_DynamicMethod> _DynamicMethodDisp;

// *********************************************************************//
// SmartIntf: TCOM_OpCodes
// Interface: _OpCodes
// *********************************************************************//
template <class T /* _OpCodes */ >
class TCOM_OpCodesT : public TComInterface<_OpCodes>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_OpCodesT() {}
  TCOM_OpCodesT(_OpCodes *intf, bool addRef = false) : TComInterface<_OpCodes>(intf, addRef) {}
  TCOM_OpCodesT(const TCOM_OpCodesT& src) : TComInterface<_OpCodes>(src) {}
  TCOM_OpCodesT& operator=(const TCOM_OpCodesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_OpCodesT<_OpCodes> TCOM_OpCodes;

// *********************************************************************//
// DispIntf:  _OpCodes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1DB1CC2A-DA73-389E-828B-5C616F4FAC49}
// *********************************************************************//
template<class T>
class _OpCodesDispT : public TAutoDriver<_OpCodes>
{
public:
  _OpCodesDispT(){}

  _OpCodesDispT(_OpCodes *pintf)
  {
    TAutoDriver<_OpCodes>::Bind(pintf, false);
  }

  _OpCodesDispT(_OpCodesPtr pintf)
  {
    TAutoDriver<_OpCodes>::Bind(pintf, true);
  }

  _OpCodesDispT& operator=(_OpCodes *pintf)
  {
    TAutoDriver<_OpCodes>::Bind(pintf, false);
    return *this;
  }

  _OpCodesDispT& operator=(_OpCodesPtr pintf)
  {
    TAutoDriver<_OpCodes>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_OpCodes));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_OpCodes);
  }


};
typedef _OpCodesDispT<_OpCodes> _OpCodesDisp;

// *********************************************************************//
// SmartIntf: TCOM_GenericTypeParameterBuilder
// Interface: _GenericTypeParameterBuilder
// *********************************************************************//
template <class T /* _GenericTypeParameterBuilder */ >
class TCOM_GenericTypeParameterBuilderT : public TComInterface<_GenericTypeParameterBuilder>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_GenericTypeParameterBuilderT() {}
  TCOM_GenericTypeParameterBuilderT(_GenericTypeParameterBuilder *intf, bool addRef = false) : TComInterface<_GenericTypeParameterBuilder>(intf, addRef) {}
  TCOM_GenericTypeParameterBuilderT(const TCOM_GenericTypeParameterBuilderT& src) : TComInterface<_GenericTypeParameterBuilder>(src) {}
  TCOM_GenericTypeParameterBuilderT& operator=(const TCOM_GenericTypeParameterBuilderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_GenericTypeParameterBuilderT<_GenericTypeParameterBuilder> TCOM_GenericTypeParameterBuilder;

// *********************************************************************//
// DispIntf:  _GenericTypeParameterBuilder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B1A62835-FC19-35A4-B206-A452463D7EE7}
// *********************************************************************//
template<class T>
class _GenericTypeParameterBuilderDispT : public TAutoDriver<_GenericTypeParameterBuilder>
{
public:
  _GenericTypeParameterBuilderDispT(){}

  _GenericTypeParameterBuilderDispT(_GenericTypeParameterBuilder *pintf)
  {
    TAutoDriver<_GenericTypeParameterBuilder>::Bind(pintf, false);
  }

  _GenericTypeParameterBuilderDispT(_GenericTypeParameterBuilderPtr pintf)
  {
    TAutoDriver<_GenericTypeParameterBuilder>::Bind(pintf, true);
  }

  _GenericTypeParameterBuilderDispT& operator=(_GenericTypeParameterBuilder *pintf)
  {
    TAutoDriver<_GenericTypeParameterBuilder>::Bind(pintf, false);
    return *this;
  }

  _GenericTypeParameterBuilderDispT& operator=(_GenericTypeParameterBuilderPtr pintf)
  {
    TAutoDriver<_GenericTypeParameterBuilder>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_GenericTypeParameterBuilder));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_GenericTypeParameterBuilder);
  }


};
typedef _GenericTypeParameterBuilderDispT<_GenericTypeParameterBuilder> _GenericTypeParameterBuilderDisp;

// *********************************************************************//
// SmartIntf: TCOM_UnmanagedMarshal
// Interface: _UnmanagedMarshal
// *********************************************************************//
template <class T /* _UnmanagedMarshal */ >
class TCOM_UnmanagedMarshalT : public TComInterface<_UnmanagedMarshal>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_UnmanagedMarshalT() {}
  TCOM_UnmanagedMarshalT(_UnmanagedMarshal *intf, bool addRef = false) : TComInterface<_UnmanagedMarshal>(intf, addRef) {}
  TCOM_UnmanagedMarshalT(const TCOM_UnmanagedMarshalT& src) : TComInterface<_UnmanagedMarshal>(src) {}
  TCOM_UnmanagedMarshalT& operator=(const TCOM_UnmanagedMarshalT& src) { Bind(src, true); return *this;}


};
typedef TCOM_UnmanagedMarshalT<_UnmanagedMarshal> TCOM_UnmanagedMarshal;

// *********************************************************************//
// DispIntf:  _UnmanagedMarshal
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FD302D86-240A-3694-A31F-9EF59E6E41BC}
// *********************************************************************//
template<class T>
class _UnmanagedMarshalDispT : public TAutoDriver<_UnmanagedMarshal>
{
public:
  _UnmanagedMarshalDispT(){}

  _UnmanagedMarshalDispT(_UnmanagedMarshal *pintf)
  {
    TAutoDriver<_UnmanagedMarshal>::Bind(pintf, false);
  }

  _UnmanagedMarshalDispT(_UnmanagedMarshalPtr pintf)
  {
    TAutoDriver<_UnmanagedMarshal>::Bind(pintf, true);
  }

  _UnmanagedMarshalDispT& operator=(_UnmanagedMarshal *pintf)
  {
    TAutoDriver<_UnmanagedMarshal>::Bind(pintf, false);
    return *this;
  }

  _UnmanagedMarshalDispT& operator=(_UnmanagedMarshalPtr pintf)
  {
    TAutoDriver<_UnmanagedMarshal>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_UnmanagedMarshal));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_UnmanagedMarshal);
  }


};
typedef _UnmanagedMarshalDispT<_UnmanagedMarshal> _UnmanagedMarshalDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeySizes
// Interface: _KeySizes
// *********************************************************************//
template <class T /* _KeySizes */ >
class TCOM_KeySizesT : public TComInterface<_KeySizes>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeySizesT() {}
  TCOM_KeySizesT(_KeySizes *intf, bool addRef = false) : TComInterface<_KeySizes>(intf, addRef) {}
  TCOM_KeySizesT(const TCOM_KeySizesT& src) : TComInterface<_KeySizes>(src) {}
  TCOM_KeySizesT& operator=(const TCOM_KeySizesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeySizesT<_KeySizes> TCOM_KeySizes;

// *********************************************************************//
// DispIntf:  _KeySizes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8978B0BE-A89E-3FF9-9834-77862CEBFF3D}
// *********************************************************************//
template<class T>
class _KeySizesDispT : public TAutoDriver<_KeySizes>
{
public:
  _KeySizesDispT(){}

  _KeySizesDispT(_KeySizes *pintf)
  {
    TAutoDriver<_KeySizes>::Bind(pintf, false);
  }

  _KeySizesDispT(_KeySizesPtr pintf)
  {
    TAutoDriver<_KeySizes>::Bind(pintf, true);
  }

  _KeySizesDispT& operator=(_KeySizes *pintf)
  {
    TAutoDriver<_KeySizes>::Bind(pintf, false);
    return *this;
  }

  _KeySizesDispT& operator=(_KeySizesPtr pintf)
  {
    TAutoDriver<_KeySizes>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeySizes));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeySizes);
  }


};
typedef _KeySizesDispT<_KeySizes> _KeySizesDisp;

// *********************************************************************//
// SmartIntf: TCOM_CryptographicException
// Interface: _CryptographicException
// *********************************************************************//
template <class T /* _CryptographicException */ >
class TCOM_CryptographicExceptionT : public TComInterface<_CryptographicException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CryptographicExceptionT() {}
  TCOM_CryptographicExceptionT(_CryptographicException *intf, bool addRef = false) : TComInterface<_CryptographicException>(intf, addRef) {}
  TCOM_CryptographicExceptionT(const TCOM_CryptographicExceptionT& src) : TComInterface<_CryptographicException>(src) {}
  TCOM_CryptographicExceptionT& operator=(const TCOM_CryptographicExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CryptographicExceptionT<_CryptographicException> TCOM_CryptographicException;

// *********************************************************************//
// DispIntf:  _CryptographicException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4311E8F5-B249-3F81-8FF4-CF853D85306D}
// *********************************************************************//
template<class T>
class _CryptographicExceptionDispT : public TAutoDriver<_CryptographicException>
{
public:
  _CryptographicExceptionDispT(){}

  _CryptographicExceptionDispT(_CryptographicException *pintf)
  {
    TAutoDriver<_CryptographicException>::Bind(pintf, false);
  }

  _CryptographicExceptionDispT(_CryptographicExceptionPtr pintf)
  {
    TAutoDriver<_CryptographicException>::Bind(pintf, true);
  }

  _CryptographicExceptionDispT& operator=(_CryptographicException *pintf)
  {
    TAutoDriver<_CryptographicException>::Bind(pintf, false);
    return *this;
  }

  _CryptographicExceptionDispT& operator=(_CryptographicExceptionPtr pintf)
  {
    TAutoDriver<_CryptographicException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CryptographicException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CryptographicException);
  }


};
typedef _CryptographicExceptionDispT<_CryptographicException> _CryptographicExceptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_CryptographicUnexpectedOperationException
// Interface: _CryptographicUnexpectedOperationException
// *********************************************************************//
template <class T /* _CryptographicUnexpectedOperationException */ >
class TCOM_CryptographicUnexpectedOperationExceptionT : public TComInterface<_CryptographicUnexpectedOperationException>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CryptographicUnexpectedOperationExceptionT() {}
  TCOM_CryptographicUnexpectedOperationExceptionT(_CryptographicUnexpectedOperationException *intf, bool addRef = false) : TComInterface<_CryptographicUnexpectedOperationException>(intf, addRef) {}
  TCOM_CryptographicUnexpectedOperationExceptionT(const TCOM_CryptographicUnexpectedOperationExceptionT& src) : TComInterface<_CryptographicUnexpectedOperationException>(src) {}
  TCOM_CryptographicUnexpectedOperationExceptionT& operator=(const TCOM_CryptographicUnexpectedOperationExceptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CryptographicUnexpectedOperationExceptionT<_CryptographicUnexpectedOperationException> TCOM_CryptographicUnexpectedOperationException;

// *********************************************************************//
// DispIntf:  _CryptographicUnexpectedOperationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7FB08423-038F-3ACC-B600-E6D072BAE160}
// *********************************************************************//
template<class T>
class _CryptographicUnexpectedOperationExceptionDispT : public TAutoDriver<_CryptographicUnexpectedOperationException>
{
public:
  _CryptographicUnexpectedOperationExceptionDispT(){}

  _CryptographicUnexpectedOperationExceptionDispT(_CryptographicUnexpectedOperationException *pintf)
  {
    TAutoDriver<_CryptographicUnexpectedOperationException>::Bind(pintf, false);
  }

  _CryptographicUnexpectedOperationExceptionDispT(_CryptographicUnexpectedOperationExceptionPtr pintf)
  {
    TAutoDriver<_CryptographicUnexpectedOperationException>::Bind(pintf, true);
  }

  _CryptographicUnexpectedOperationExceptionDispT& operator=(_CryptographicUnexpectedOperationException *pintf)
  {
    TAutoDriver<_CryptographicUnexpectedOperationException>::Bind(pintf, false);
    return *this;
  }

  _CryptographicUnexpectedOperationExceptionDispT& operator=(_CryptographicUnexpectedOperationExceptionPtr pintf)
  {
    TAutoDriver<_CryptographicUnexpectedOperationException>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CryptographicUnexpectedOperationException));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CryptographicUnexpectedOperationException);
  }


};
typedef _CryptographicUnexpectedOperationExceptionDispT<_CryptographicUnexpectedOperationException> _CryptographicUnexpectedOperationExceptionDisp;

typedef TComInterface<ICryptoTransform>  TCOMICryptoTransform;

// *********************************************************************//
// DispIntf:  ICryptoTransform
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {8ABAD867-F515-3CF6-BB62-5F0C88B3BB11}
// *********************************************************************//
template<class T>
class ICryptoTransformDispT : public TAutoDriver<ICryptoTransform>
{
public:
  ICryptoTransformDispT(){}

  ICryptoTransformDispT(ICryptoTransform *pintf)
  {
    TAutoDriver<ICryptoTransform>::Bind(pintf, false);
  }

  ICryptoTransformDispT(ICryptoTransformPtr pintf)
  {
    TAutoDriver<ICryptoTransform>::Bind(pintf, true);
  }

  ICryptoTransformDispT& operator=(ICryptoTransform *pintf)
  {
    TAutoDriver<ICryptoTransform>::Bind(pintf, false);
    return *this;
  }

  ICryptoTransformDispT& operator=(ICryptoTransformPtr pintf)
  {
    TAutoDriver<ICryptoTransform>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_InputBlockSize(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_InputBlockSize(void);
  HRESULT         __fastcall get_OutputBlockSize(long* pRetVal/*[out,retval]*/);
  long            __fastcall get_OutputBlockSize(void);
  HRESULT         __fastcall get_CanTransformMultipleBlocks(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_CanTransformMultipleBlocks(void);
  HRESULT         __fastcall get_CanReuseTransform(TOLEBOOL* pRetVal/*[out,retval]*/);
  TOLEBOOL        __fastcall get_CanReuseTransform(void);
  HRESULT         __fastcall TransformBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                            long inputOffset/*[in]*/, long inputCount/*[in]*/, 
                                            LPSAFEARRAY outputBuffer/*[in]*/, 
                                            long outputOffset/*[in]*/, long* pRetVal/*[out,retval]*/);
  long            __fastcall TransformBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                            long inputOffset/*[in]*/, long inputCount/*[in]*/, 
                                            LPSAFEARRAY outputBuffer/*[in]*/, 
                                            long outputOffset/*[in]*/);
  HRESULT         __fastcall TransformFinalBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                                 long inputOffset/*[in]*/, long inputCount/*[in]*/, 
                                                 LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall TransformFinalBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                                 long inputOffset/*[in]*/, long inputCount/*[in]*/);

  __property   long            InputBlockSize = {read = get_InputBlockSize};
  __property   long            OutputBlockSize = {read = get_OutputBlockSize};
  __property   TOLEBOOL        CanTransformMultipleBlocks = {read = get_CanTransformMultipleBlocks};
  __property   TOLEBOOL        CanReuseTransform = {read = get_CanReuseTransform};
};
typedef ICryptoTransformDispT<ICryptoTransform> ICryptoTransformDisp;

// *********************************************************************//
// SmartIntf: TCOM_RandomNumberGenerator
// Interface: _RandomNumberGenerator
// *********************************************************************//
template <class T /* _RandomNumberGenerator */ >
class TCOM_RandomNumberGeneratorT : public TComInterface<_RandomNumberGenerator>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RandomNumberGeneratorT() {}
  TCOM_RandomNumberGeneratorT(_RandomNumberGenerator *intf, bool addRef = false) : TComInterface<_RandomNumberGenerator>(intf, addRef) {}
  TCOM_RandomNumberGeneratorT(const TCOM_RandomNumberGeneratorT& src) : TComInterface<_RandomNumberGenerator>(src) {}
  TCOM_RandomNumberGeneratorT& operator=(const TCOM_RandomNumberGeneratorT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RandomNumberGeneratorT<_RandomNumberGenerator> TCOM_RandomNumberGenerator;

// *********************************************************************//
// DispIntf:  _RandomNumberGenerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7AE4B03C-414A-36E0-BA68-F9603004C925}
// *********************************************************************//
template<class T>
class _RandomNumberGeneratorDispT : public TAutoDriver<_RandomNumberGenerator>
{
public:
  _RandomNumberGeneratorDispT(){}

  _RandomNumberGeneratorDispT(_RandomNumberGenerator *pintf)
  {
    TAutoDriver<_RandomNumberGenerator>::Bind(pintf, false);
  }

  _RandomNumberGeneratorDispT(_RandomNumberGeneratorPtr pintf)
  {
    TAutoDriver<_RandomNumberGenerator>::Bind(pintf, true);
  }

  _RandomNumberGeneratorDispT& operator=(_RandomNumberGenerator *pintf)
  {
    TAutoDriver<_RandomNumberGenerator>::Bind(pintf, false);
    return *this;
  }

  _RandomNumberGeneratorDispT& operator=(_RandomNumberGeneratorPtr pintf)
  {
    TAutoDriver<_RandomNumberGenerator>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RandomNumberGenerator));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RandomNumberGenerator);
  }


};
typedef _RandomNumberGeneratorDispT<_RandomNumberGenerator> _RandomNumberGeneratorDisp;

// *********************************************************************//
// SmartIntf: TCOM_RNGCryptoServiceProvider
// Interface: _RNGCryptoServiceProvider
// *********************************************************************//
template <class T /* _RNGCryptoServiceProvider */ >
class TCOM_RNGCryptoServiceProviderT : public TComInterface<_RNGCryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RNGCryptoServiceProviderT() {}
  TCOM_RNGCryptoServiceProviderT(_RNGCryptoServiceProvider *intf, bool addRef = false) : TComInterface<_RNGCryptoServiceProvider>(intf, addRef) {}
  TCOM_RNGCryptoServiceProviderT(const TCOM_RNGCryptoServiceProviderT& src) : TComInterface<_RNGCryptoServiceProvider>(src) {}
  TCOM_RNGCryptoServiceProviderT& operator=(const TCOM_RNGCryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RNGCryptoServiceProviderT<_RNGCryptoServiceProvider> TCOM_RNGCryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _RNGCryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2C65D4C0-584C-3E4E-8E6D-1AFB112BFF69}
// *********************************************************************//
template<class T>
class _RNGCryptoServiceProviderDispT : public TAutoDriver<_RNGCryptoServiceProvider>
{
public:
  _RNGCryptoServiceProviderDispT(){}

  _RNGCryptoServiceProviderDispT(_RNGCryptoServiceProvider *pintf)
  {
    TAutoDriver<_RNGCryptoServiceProvider>::Bind(pintf, false);
  }

  _RNGCryptoServiceProviderDispT(_RNGCryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_RNGCryptoServiceProvider>::Bind(pintf, true);
  }

  _RNGCryptoServiceProviderDispT& operator=(_RNGCryptoServiceProvider *pintf)
  {
    TAutoDriver<_RNGCryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _RNGCryptoServiceProviderDispT& operator=(_RNGCryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_RNGCryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RNGCryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RNGCryptoServiceProvider);
  }


};
typedef _RNGCryptoServiceProviderDispT<_RNGCryptoServiceProvider> _RNGCryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_AsymmetricAlgorithm
// Interface: _AsymmetricAlgorithm
// *********************************************************************//
template <class T /* _AsymmetricAlgorithm */ >
class TCOM_AsymmetricAlgorithmT : public TComInterface<_AsymmetricAlgorithm>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AsymmetricAlgorithmT() {}
  TCOM_AsymmetricAlgorithmT(_AsymmetricAlgorithm *intf, bool addRef = false) : TComInterface<_AsymmetricAlgorithm>(intf, addRef) {}
  TCOM_AsymmetricAlgorithmT(const TCOM_AsymmetricAlgorithmT& src) : TComInterface<_AsymmetricAlgorithm>(src) {}
  TCOM_AsymmetricAlgorithmT& operator=(const TCOM_AsymmetricAlgorithmT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AsymmetricAlgorithmT<_AsymmetricAlgorithm> TCOM_AsymmetricAlgorithm;

// *********************************************************************//
// DispIntf:  _AsymmetricAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {09343AC0-D19A-3E62-BC16-0F600F10180A}
// *********************************************************************//
template<class T>
class _AsymmetricAlgorithmDispT : public TAutoDriver<_AsymmetricAlgorithm>
{
public:
  _AsymmetricAlgorithmDispT(){}

  _AsymmetricAlgorithmDispT(_AsymmetricAlgorithm *pintf)
  {
    TAutoDriver<_AsymmetricAlgorithm>::Bind(pintf, false);
  }

  _AsymmetricAlgorithmDispT(_AsymmetricAlgorithmPtr pintf)
  {
    TAutoDriver<_AsymmetricAlgorithm>::Bind(pintf, true);
  }

  _AsymmetricAlgorithmDispT& operator=(_AsymmetricAlgorithm *pintf)
  {
    TAutoDriver<_AsymmetricAlgorithm>::Bind(pintf, false);
    return *this;
  }

  _AsymmetricAlgorithmDispT& operator=(_AsymmetricAlgorithmPtr pintf)
  {
    TAutoDriver<_AsymmetricAlgorithm>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AsymmetricAlgorithm));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AsymmetricAlgorithm);
  }


};
typedef _AsymmetricAlgorithmDispT<_AsymmetricAlgorithm> _AsymmetricAlgorithmDisp;

// *********************************************************************//
// SmartIntf: TCOM_AsymmetricKeyExchangeDeformatter
// Interface: _AsymmetricKeyExchangeDeformatter
// *********************************************************************//
template <class T /* _AsymmetricKeyExchangeDeformatter */ >
class TCOM_AsymmetricKeyExchangeDeformatterT : public TComInterface<_AsymmetricKeyExchangeDeformatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AsymmetricKeyExchangeDeformatterT() {}
  TCOM_AsymmetricKeyExchangeDeformatterT(_AsymmetricKeyExchangeDeformatter *intf, bool addRef = false) : TComInterface<_AsymmetricKeyExchangeDeformatter>(intf, addRef) {}
  TCOM_AsymmetricKeyExchangeDeformatterT(const TCOM_AsymmetricKeyExchangeDeformatterT& src) : TComInterface<_AsymmetricKeyExchangeDeformatter>(src) {}
  TCOM_AsymmetricKeyExchangeDeformatterT& operator=(const TCOM_AsymmetricKeyExchangeDeformatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AsymmetricKeyExchangeDeformatterT<_AsymmetricKeyExchangeDeformatter> TCOM_AsymmetricKeyExchangeDeformatter;

// *********************************************************************//
// DispIntf:  _AsymmetricKeyExchangeDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B6685CCA-7A49-37D1-A805-3DE829CB8DEB}
// *********************************************************************//
template<class T>
class _AsymmetricKeyExchangeDeformatterDispT : public TAutoDriver<_AsymmetricKeyExchangeDeformatter>
{
public:
  _AsymmetricKeyExchangeDeformatterDispT(){}

  _AsymmetricKeyExchangeDeformatterDispT(_AsymmetricKeyExchangeDeformatter *pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeDeformatter>::Bind(pintf, false);
  }

  _AsymmetricKeyExchangeDeformatterDispT(_AsymmetricKeyExchangeDeformatterPtr pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeDeformatter>::Bind(pintf, true);
  }

  _AsymmetricKeyExchangeDeformatterDispT& operator=(_AsymmetricKeyExchangeDeformatter *pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeDeformatter>::Bind(pintf, false);
    return *this;
  }

  _AsymmetricKeyExchangeDeformatterDispT& operator=(_AsymmetricKeyExchangeDeformatterPtr pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeDeformatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AsymmetricKeyExchangeDeformatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AsymmetricKeyExchangeDeformatter);
  }


};
typedef _AsymmetricKeyExchangeDeformatterDispT<_AsymmetricKeyExchangeDeformatter> _AsymmetricKeyExchangeDeformatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_AsymmetricKeyExchangeFormatter
// Interface: _AsymmetricKeyExchangeFormatter
// *********************************************************************//
template <class T /* _AsymmetricKeyExchangeFormatter */ >
class TCOM_AsymmetricKeyExchangeFormatterT : public TComInterface<_AsymmetricKeyExchangeFormatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AsymmetricKeyExchangeFormatterT() {}
  TCOM_AsymmetricKeyExchangeFormatterT(_AsymmetricKeyExchangeFormatter *intf, bool addRef = false) : TComInterface<_AsymmetricKeyExchangeFormatter>(intf, addRef) {}
  TCOM_AsymmetricKeyExchangeFormatterT(const TCOM_AsymmetricKeyExchangeFormatterT& src) : TComInterface<_AsymmetricKeyExchangeFormatter>(src) {}
  TCOM_AsymmetricKeyExchangeFormatterT& operator=(const TCOM_AsymmetricKeyExchangeFormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AsymmetricKeyExchangeFormatterT<_AsymmetricKeyExchangeFormatter> TCOM_AsymmetricKeyExchangeFormatter;

// *********************************************************************//
// DispIntf:  _AsymmetricKeyExchangeFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1365B84B-6477-3C40-BE6A-089DC01ECED9}
// *********************************************************************//
template<class T>
class _AsymmetricKeyExchangeFormatterDispT : public TAutoDriver<_AsymmetricKeyExchangeFormatter>
{
public:
  _AsymmetricKeyExchangeFormatterDispT(){}

  _AsymmetricKeyExchangeFormatterDispT(_AsymmetricKeyExchangeFormatter *pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeFormatter>::Bind(pintf, false);
  }

  _AsymmetricKeyExchangeFormatterDispT(_AsymmetricKeyExchangeFormatterPtr pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeFormatter>::Bind(pintf, true);
  }

  _AsymmetricKeyExchangeFormatterDispT& operator=(_AsymmetricKeyExchangeFormatter *pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeFormatter>::Bind(pintf, false);
    return *this;
  }

  _AsymmetricKeyExchangeFormatterDispT& operator=(_AsymmetricKeyExchangeFormatterPtr pintf)
  {
    TAutoDriver<_AsymmetricKeyExchangeFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AsymmetricKeyExchangeFormatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AsymmetricKeyExchangeFormatter);
  }


};
typedef _AsymmetricKeyExchangeFormatterDispT<_AsymmetricKeyExchangeFormatter> _AsymmetricKeyExchangeFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_AsymmetricSignatureDeformatter
// Interface: _AsymmetricSignatureDeformatter
// *********************************************************************//
template <class T /* _AsymmetricSignatureDeformatter */ >
class TCOM_AsymmetricSignatureDeformatterT : public TComInterface<_AsymmetricSignatureDeformatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AsymmetricSignatureDeformatterT() {}
  TCOM_AsymmetricSignatureDeformatterT(_AsymmetricSignatureDeformatter *intf, bool addRef = false) : TComInterface<_AsymmetricSignatureDeformatter>(intf, addRef) {}
  TCOM_AsymmetricSignatureDeformatterT(const TCOM_AsymmetricSignatureDeformatterT& src) : TComInterface<_AsymmetricSignatureDeformatter>(src) {}
  TCOM_AsymmetricSignatureDeformatterT& operator=(const TCOM_AsymmetricSignatureDeformatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AsymmetricSignatureDeformatterT<_AsymmetricSignatureDeformatter> TCOM_AsymmetricSignatureDeformatter;

// *********************************************************************//
// DispIntf:  _AsymmetricSignatureDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7CA5FE57-D1AC-3064-BB0B-F450BE40F194}
// *********************************************************************//
template<class T>
class _AsymmetricSignatureDeformatterDispT : public TAutoDriver<_AsymmetricSignatureDeformatter>
{
public:
  _AsymmetricSignatureDeformatterDispT(){}

  _AsymmetricSignatureDeformatterDispT(_AsymmetricSignatureDeformatter *pintf)
  {
    TAutoDriver<_AsymmetricSignatureDeformatter>::Bind(pintf, false);
  }

  _AsymmetricSignatureDeformatterDispT(_AsymmetricSignatureDeformatterPtr pintf)
  {
    TAutoDriver<_AsymmetricSignatureDeformatter>::Bind(pintf, true);
  }

  _AsymmetricSignatureDeformatterDispT& operator=(_AsymmetricSignatureDeformatter *pintf)
  {
    TAutoDriver<_AsymmetricSignatureDeformatter>::Bind(pintf, false);
    return *this;
  }

  _AsymmetricSignatureDeformatterDispT& operator=(_AsymmetricSignatureDeformatterPtr pintf)
  {
    TAutoDriver<_AsymmetricSignatureDeformatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AsymmetricSignatureDeformatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AsymmetricSignatureDeformatter);
  }


};
typedef _AsymmetricSignatureDeformatterDispT<_AsymmetricSignatureDeformatter> _AsymmetricSignatureDeformatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_AsymmetricSignatureFormatter
// Interface: _AsymmetricSignatureFormatter
// *********************************************************************//
template <class T /* _AsymmetricSignatureFormatter */ >
class TCOM_AsymmetricSignatureFormatterT : public TComInterface<_AsymmetricSignatureFormatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_AsymmetricSignatureFormatterT() {}
  TCOM_AsymmetricSignatureFormatterT(_AsymmetricSignatureFormatter *intf, bool addRef = false) : TComInterface<_AsymmetricSignatureFormatter>(intf, addRef) {}
  TCOM_AsymmetricSignatureFormatterT(const TCOM_AsymmetricSignatureFormatterT& src) : TComInterface<_AsymmetricSignatureFormatter>(src) {}
  TCOM_AsymmetricSignatureFormatterT& operator=(const TCOM_AsymmetricSignatureFormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_AsymmetricSignatureFormatterT<_AsymmetricSignatureFormatter> TCOM_AsymmetricSignatureFormatter;

// *********************************************************************//
// DispIntf:  _AsymmetricSignatureFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5363D066-6295-3618-BE33-3F0B070B7976}
// *********************************************************************//
template<class T>
class _AsymmetricSignatureFormatterDispT : public TAutoDriver<_AsymmetricSignatureFormatter>
{
public:
  _AsymmetricSignatureFormatterDispT(){}

  _AsymmetricSignatureFormatterDispT(_AsymmetricSignatureFormatter *pintf)
  {
    TAutoDriver<_AsymmetricSignatureFormatter>::Bind(pintf, false);
  }

  _AsymmetricSignatureFormatterDispT(_AsymmetricSignatureFormatterPtr pintf)
  {
    TAutoDriver<_AsymmetricSignatureFormatter>::Bind(pintf, true);
  }

  _AsymmetricSignatureFormatterDispT& operator=(_AsymmetricSignatureFormatter *pintf)
  {
    TAutoDriver<_AsymmetricSignatureFormatter>::Bind(pintf, false);
    return *this;
  }

  _AsymmetricSignatureFormatterDispT& operator=(_AsymmetricSignatureFormatterPtr pintf)
  {
    TAutoDriver<_AsymmetricSignatureFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_AsymmetricSignatureFormatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_AsymmetricSignatureFormatter);
  }


};
typedef _AsymmetricSignatureFormatterDispT<_AsymmetricSignatureFormatter> _AsymmetricSignatureFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_ToBase64Transform
// Interface: _ToBase64Transform
// *********************************************************************//
template <class T /* _ToBase64Transform */ >
class TCOM_ToBase64TransformT : public TComInterface<_ToBase64Transform>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_ToBase64TransformT() {}
  TCOM_ToBase64TransformT(_ToBase64Transform *intf, bool addRef = false) : TComInterface<_ToBase64Transform>(intf, addRef) {}
  TCOM_ToBase64TransformT(const TCOM_ToBase64TransformT& src) : TComInterface<_ToBase64Transform>(src) {}
  TCOM_ToBase64TransformT& operator=(const TCOM_ToBase64TransformT& src) { Bind(src, true); return *this;}


};
typedef TCOM_ToBase64TransformT<_ToBase64Transform> TCOM_ToBase64Transform;

// *********************************************************************//
// DispIntf:  _ToBase64Transform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {23DED1E1-7D5F-3936-AA4E-18BBCC39B155}
// *********************************************************************//
template<class T>
class _ToBase64TransformDispT : public TAutoDriver<_ToBase64Transform>
{
public:
  _ToBase64TransformDispT(){}

  _ToBase64TransformDispT(_ToBase64Transform *pintf)
  {
    TAutoDriver<_ToBase64Transform>::Bind(pintf, false);
  }

  _ToBase64TransformDispT(_ToBase64TransformPtr pintf)
  {
    TAutoDriver<_ToBase64Transform>::Bind(pintf, true);
  }

  _ToBase64TransformDispT& operator=(_ToBase64Transform *pintf)
  {
    TAutoDriver<_ToBase64Transform>::Bind(pintf, false);
    return *this;
  }

  _ToBase64TransformDispT& operator=(_ToBase64TransformPtr pintf)
  {
    TAutoDriver<_ToBase64Transform>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_ToBase64Transform));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_ToBase64Transform);
  }


};
typedef _ToBase64TransformDispT<_ToBase64Transform> _ToBase64TransformDisp;

// *********************************************************************//
// SmartIntf: TCOM_FromBase64Transform
// Interface: _FromBase64Transform
// *********************************************************************//
template <class T /* _FromBase64Transform */ >
class TCOM_FromBase64TransformT : public TComInterface<_FromBase64Transform>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_FromBase64TransformT() {}
  TCOM_FromBase64TransformT(_FromBase64Transform *intf, bool addRef = false) : TComInterface<_FromBase64Transform>(intf, addRef) {}
  TCOM_FromBase64TransformT(const TCOM_FromBase64TransformT& src) : TComInterface<_FromBase64Transform>(src) {}
  TCOM_FromBase64TransformT& operator=(const TCOM_FromBase64TransformT& src) { Bind(src, true); return *this;}


};
typedef TCOM_FromBase64TransformT<_FromBase64Transform> TCOM_FromBase64Transform;

// *********************************************************************//
// DispIntf:  _FromBase64Transform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FC0717A6-2E86-372F-81F4-B35ED4BDF0DE}
// *********************************************************************//
template<class T>
class _FromBase64TransformDispT : public TAutoDriver<_FromBase64Transform>
{
public:
  _FromBase64TransformDispT(){}

  _FromBase64TransformDispT(_FromBase64Transform *pintf)
  {
    TAutoDriver<_FromBase64Transform>::Bind(pintf, false);
  }

  _FromBase64TransformDispT(_FromBase64TransformPtr pintf)
  {
    TAutoDriver<_FromBase64Transform>::Bind(pintf, true);
  }

  _FromBase64TransformDispT& operator=(_FromBase64Transform *pintf)
  {
    TAutoDriver<_FromBase64Transform>::Bind(pintf, false);
    return *this;
  }

  _FromBase64TransformDispT& operator=(_FromBase64TransformPtr pintf)
  {
    TAutoDriver<_FromBase64Transform>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_FromBase64Transform));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_FromBase64Transform);
  }


};
typedef _FromBase64TransformDispT<_FromBase64Transform> _FromBase64TransformDisp;

// *********************************************************************//
// SmartIntf: TCOM_CryptoAPITransform
// Interface: _CryptoAPITransform
// *********************************************************************//
template <class T /* _CryptoAPITransform */ >
class TCOM_CryptoAPITransformT : public TComInterface<_CryptoAPITransform>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CryptoAPITransformT() {}
  TCOM_CryptoAPITransformT(_CryptoAPITransform *intf, bool addRef = false) : TComInterface<_CryptoAPITransform>(intf, addRef) {}
  TCOM_CryptoAPITransformT(const TCOM_CryptoAPITransformT& src) : TComInterface<_CryptoAPITransform>(src) {}
  TCOM_CryptoAPITransformT& operator=(const TCOM_CryptoAPITransformT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CryptoAPITransformT<_CryptoAPITransform> TCOM_CryptoAPITransform;

// *********************************************************************//
// DispIntf:  _CryptoAPITransform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {983B8639-2ED7-364C-9899-682ABB2CE850}
// *********************************************************************//
template<class T>
class _CryptoAPITransformDispT : public TAutoDriver<_CryptoAPITransform>
{
public:
  _CryptoAPITransformDispT(){}

  _CryptoAPITransformDispT(_CryptoAPITransform *pintf)
  {
    TAutoDriver<_CryptoAPITransform>::Bind(pintf, false);
  }

  _CryptoAPITransformDispT(_CryptoAPITransformPtr pintf)
  {
    TAutoDriver<_CryptoAPITransform>::Bind(pintf, true);
  }

  _CryptoAPITransformDispT& operator=(_CryptoAPITransform *pintf)
  {
    TAutoDriver<_CryptoAPITransform>::Bind(pintf, false);
    return *this;
  }

  _CryptoAPITransformDispT& operator=(_CryptoAPITransformPtr pintf)
  {
    TAutoDriver<_CryptoAPITransform>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CryptoAPITransform));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CryptoAPITransform);
  }


};
typedef _CryptoAPITransformDispT<_CryptoAPITransform> _CryptoAPITransformDisp;

// *********************************************************************//
// SmartIntf: TCOM_CspParameters
// Interface: _CspParameters
// *********************************************************************//
template <class T /* _CspParameters */ >
class TCOM_CspParametersT : public TComInterface<_CspParameters>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CspParametersT() {}
  TCOM_CspParametersT(_CspParameters *intf, bool addRef = false) : TComInterface<_CspParameters>(intf, addRef) {}
  TCOM_CspParametersT(const TCOM_CspParametersT& src) : TComInterface<_CspParameters>(src) {}
  TCOM_CspParametersT& operator=(const TCOM_CspParametersT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CspParametersT<_CspParameters> TCOM_CspParameters;

// *********************************************************************//
// DispIntf:  _CspParameters
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D5331D95-FFF2-358F-AFD5-588F469FF2E4}
// *********************************************************************//
template<class T>
class _CspParametersDispT : public TAutoDriver<_CspParameters>
{
public:
  _CspParametersDispT(){}

  _CspParametersDispT(_CspParameters *pintf)
  {
    TAutoDriver<_CspParameters>::Bind(pintf, false);
  }

  _CspParametersDispT(_CspParametersPtr pintf)
  {
    TAutoDriver<_CspParameters>::Bind(pintf, true);
  }

  _CspParametersDispT& operator=(_CspParameters *pintf)
  {
    TAutoDriver<_CspParameters>::Bind(pintf, false);
    return *this;
  }

  _CspParametersDispT& operator=(_CspParametersPtr pintf)
  {
    TAutoDriver<_CspParameters>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CspParameters));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CspParameters);
  }


};
typedef _CspParametersDispT<_CspParameters> _CspParametersDisp;

// *********************************************************************//
// SmartIntf: TCOM_CryptoConfig
// Interface: _CryptoConfig
// *********************************************************************//
template <class T /* _CryptoConfig */ >
class TCOM_CryptoConfigT : public TComInterface<_CryptoConfig>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CryptoConfigT() {}
  TCOM_CryptoConfigT(_CryptoConfig *intf, bool addRef = false) : TComInterface<_CryptoConfig>(intf, addRef) {}
  TCOM_CryptoConfigT(const TCOM_CryptoConfigT& src) : TComInterface<_CryptoConfig>(src) {}
  TCOM_CryptoConfigT& operator=(const TCOM_CryptoConfigT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CryptoConfigT<_CryptoConfig> TCOM_CryptoConfig;

// *********************************************************************//
// DispIntf:  _CryptoConfig
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AB00F3F8-7DDE-3FF5-B805-6C5DBB200549}
// *********************************************************************//
template<class T>
class _CryptoConfigDispT : public TAutoDriver<_CryptoConfig>
{
public:
  _CryptoConfigDispT(){}

  _CryptoConfigDispT(_CryptoConfig *pintf)
  {
    TAutoDriver<_CryptoConfig>::Bind(pintf, false);
  }

  _CryptoConfigDispT(_CryptoConfigPtr pintf)
  {
    TAutoDriver<_CryptoConfig>::Bind(pintf, true);
  }

  _CryptoConfigDispT& operator=(_CryptoConfig *pintf)
  {
    TAutoDriver<_CryptoConfig>::Bind(pintf, false);
    return *this;
  }

  _CryptoConfigDispT& operator=(_CryptoConfigPtr pintf)
  {
    TAutoDriver<_CryptoConfig>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CryptoConfig));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CryptoConfig);
  }


};
typedef _CryptoConfigDispT<_CryptoConfig> _CryptoConfigDisp;

// *********************************************************************//
// SmartIntf: TCOM_CryptoStream
// Interface: _CryptoStream
// *********************************************************************//
template <class T /* _CryptoStream */ >
class TCOM_CryptoStreamT : public TComInterface<_CryptoStream>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CryptoStreamT() {}
  TCOM_CryptoStreamT(_CryptoStream *intf, bool addRef = false) : TComInterface<_CryptoStream>(intf, addRef) {}
  TCOM_CryptoStreamT(const TCOM_CryptoStreamT& src) : TComInterface<_CryptoStream>(src) {}
  TCOM_CryptoStreamT& operator=(const TCOM_CryptoStreamT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CryptoStreamT<_CryptoStream> TCOM_CryptoStream;

// *********************************************************************//
// DispIntf:  _CryptoStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4134F762-D0EC-3210-93C0-DE4F443D5669}
// *********************************************************************//
template<class T>
class _CryptoStreamDispT : public TAutoDriver<_CryptoStream>
{
public:
  _CryptoStreamDispT(){}

  _CryptoStreamDispT(_CryptoStream *pintf)
  {
    TAutoDriver<_CryptoStream>::Bind(pintf, false);
  }

  _CryptoStreamDispT(_CryptoStreamPtr pintf)
  {
    TAutoDriver<_CryptoStream>::Bind(pintf, true);
  }

  _CryptoStreamDispT& operator=(_CryptoStream *pintf)
  {
    TAutoDriver<_CryptoStream>::Bind(pintf, false);
    return *this;
  }

  _CryptoStreamDispT& operator=(_CryptoStreamPtr pintf)
  {
    TAutoDriver<_CryptoStream>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CryptoStream));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CryptoStream);
  }


};
typedef _CryptoStreamDispT<_CryptoStream> _CryptoStreamDisp;

// *********************************************************************//
// SmartIntf: TCOM_SymmetricAlgorithm
// Interface: _SymmetricAlgorithm
// *********************************************************************//
template <class T /* _SymmetricAlgorithm */ >
class TCOM_SymmetricAlgorithmT : public TComInterface<_SymmetricAlgorithm>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SymmetricAlgorithmT() {}
  TCOM_SymmetricAlgorithmT(_SymmetricAlgorithm *intf, bool addRef = false) : TComInterface<_SymmetricAlgorithm>(intf, addRef) {}
  TCOM_SymmetricAlgorithmT(const TCOM_SymmetricAlgorithmT& src) : TComInterface<_SymmetricAlgorithm>(src) {}
  TCOM_SymmetricAlgorithmT& operator=(const TCOM_SymmetricAlgorithmT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SymmetricAlgorithmT<_SymmetricAlgorithm> TCOM_SymmetricAlgorithm;

// *********************************************************************//
// DispIntf:  _SymmetricAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {05BC0E38-7136-3825-9E34-26C1CF2142C9}
// *********************************************************************//
template<class T>
class _SymmetricAlgorithmDispT : public TAutoDriver<_SymmetricAlgorithm>
{
public:
  _SymmetricAlgorithmDispT(){}

  _SymmetricAlgorithmDispT(_SymmetricAlgorithm *pintf)
  {
    TAutoDriver<_SymmetricAlgorithm>::Bind(pintf, false);
  }

  _SymmetricAlgorithmDispT(_SymmetricAlgorithmPtr pintf)
  {
    TAutoDriver<_SymmetricAlgorithm>::Bind(pintf, true);
  }

  _SymmetricAlgorithmDispT& operator=(_SymmetricAlgorithm *pintf)
  {
    TAutoDriver<_SymmetricAlgorithm>::Bind(pintf, false);
    return *this;
  }

  _SymmetricAlgorithmDispT& operator=(_SymmetricAlgorithmPtr pintf)
  {
    TAutoDriver<_SymmetricAlgorithm>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SymmetricAlgorithm));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SymmetricAlgorithm);
  }


};
typedef _SymmetricAlgorithmDispT<_SymmetricAlgorithm> _SymmetricAlgorithmDisp;

// *********************************************************************//
// SmartIntf: TCOM_DES
// Interface: _DES
// *********************************************************************//
template <class T /* _DES */ >
class TCOM_DEST : public TComInterface<_DES>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DEST() {}
  TCOM_DEST(_DES *intf, bool addRef = false) : TComInterface<_DES>(intf, addRef) {}
  TCOM_DEST(const TCOM_DEST& src) : TComInterface<_DES>(src) {}
  TCOM_DEST& operator=(const TCOM_DEST& src) { Bind(src, true); return *this;}


};
typedef TCOM_DEST<_DES> TCOM_DES;

// *********************************************************************//
// DispIntf:  _DES
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C7EF0214-B91C-3799-98DD-C994AABFC741}
// *********************************************************************//
template<class T>
class _DESDispT : public TAutoDriver<_DES>
{
public:
  _DESDispT(){}

  _DESDispT(_DES *pintf)
  {
    TAutoDriver<_DES>::Bind(pintf, false);
  }

  _DESDispT(_DESPtr pintf)
  {
    TAutoDriver<_DES>::Bind(pintf, true);
  }

  _DESDispT& operator=(_DES *pintf)
  {
    TAutoDriver<_DES>::Bind(pintf, false);
    return *this;
  }

  _DESDispT& operator=(_DESPtr pintf)
  {
    TAutoDriver<_DES>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DES));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DES);
  }


};
typedef _DESDispT<_DES> _DESDisp;

// *********************************************************************//
// SmartIntf: TCOM_DESCryptoServiceProvider
// Interface: _DESCryptoServiceProvider
// *********************************************************************//
template <class T /* _DESCryptoServiceProvider */ >
class TCOM_DESCryptoServiceProviderT : public TComInterface<_DESCryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DESCryptoServiceProviderT() {}
  TCOM_DESCryptoServiceProviderT(_DESCryptoServiceProvider *intf, bool addRef = false) : TComInterface<_DESCryptoServiceProvider>(intf, addRef) {}
  TCOM_DESCryptoServiceProviderT(const TCOM_DESCryptoServiceProviderT& src) : TComInterface<_DESCryptoServiceProvider>(src) {}
  TCOM_DESCryptoServiceProviderT& operator=(const TCOM_DESCryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DESCryptoServiceProviderT<_DESCryptoServiceProvider> TCOM_DESCryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _DESCryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {65E8495E-5207-3248-9250-0FC849B4F096}
// *********************************************************************//
template<class T>
class _DESCryptoServiceProviderDispT : public TAutoDriver<_DESCryptoServiceProvider>
{
public:
  _DESCryptoServiceProviderDispT(){}

  _DESCryptoServiceProviderDispT(_DESCryptoServiceProvider *pintf)
  {
    TAutoDriver<_DESCryptoServiceProvider>::Bind(pintf, false);
  }

  _DESCryptoServiceProviderDispT(_DESCryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_DESCryptoServiceProvider>::Bind(pintf, true);
  }

  _DESCryptoServiceProviderDispT& operator=(_DESCryptoServiceProvider *pintf)
  {
    TAutoDriver<_DESCryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _DESCryptoServiceProviderDispT& operator=(_DESCryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_DESCryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DESCryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DESCryptoServiceProvider);
  }


};
typedef _DESCryptoServiceProviderDispT<_DESCryptoServiceProvider> _DESCryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_DeriveBytes
// Interface: _DeriveBytes
// *********************************************************************//
template <class T /* _DeriveBytes */ >
class TCOM_DeriveBytesT : public TComInterface<_DeriveBytes>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DeriveBytesT() {}
  TCOM_DeriveBytesT(_DeriveBytes *intf, bool addRef = false) : TComInterface<_DeriveBytes>(intf, addRef) {}
  TCOM_DeriveBytesT(const TCOM_DeriveBytesT& src) : TComInterface<_DeriveBytes>(src) {}
  TCOM_DeriveBytesT& operator=(const TCOM_DeriveBytesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DeriveBytesT<_DeriveBytes> TCOM_DeriveBytes;

// *********************************************************************//
// DispIntf:  _DeriveBytes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {140EE78F-067F-3765-9258-C3BC72FE976B}
// *********************************************************************//
template<class T>
class _DeriveBytesDispT : public TAutoDriver<_DeriveBytes>
{
public:
  _DeriveBytesDispT(){}

  _DeriveBytesDispT(_DeriveBytes *pintf)
  {
    TAutoDriver<_DeriveBytes>::Bind(pintf, false);
  }

  _DeriveBytesDispT(_DeriveBytesPtr pintf)
  {
    TAutoDriver<_DeriveBytes>::Bind(pintf, true);
  }

  _DeriveBytesDispT& operator=(_DeriveBytes *pintf)
  {
    TAutoDriver<_DeriveBytes>::Bind(pintf, false);
    return *this;
  }

  _DeriveBytesDispT& operator=(_DeriveBytesPtr pintf)
  {
    TAutoDriver<_DeriveBytes>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DeriveBytes));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DeriveBytes);
  }


};
typedef _DeriveBytesDispT<_DeriveBytes> _DeriveBytesDisp;

// *********************************************************************//
// SmartIntf: TCOM_DSA
// Interface: _DSA
// *********************************************************************//
template <class T /* _DSA */ >
class TCOM_DSAT : public TComInterface<_DSA>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DSAT() {}
  TCOM_DSAT(_DSA *intf, bool addRef = false) : TComInterface<_DSA>(intf, addRef) {}
  TCOM_DSAT(const TCOM_DSAT& src) : TComInterface<_DSA>(src) {}
  TCOM_DSAT& operator=(const TCOM_DSAT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DSAT<_DSA> TCOM_DSA;

// *********************************************************************//
// DispIntf:  _DSA
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0EB5B5E0-1BE6-3A5F-87B3-E3323342F44E}
// *********************************************************************//
template<class T>
class _DSADispT : public TAutoDriver<_DSA>
{
public:
  _DSADispT(){}

  _DSADispT(_DSA *pintf)
  {
    TAutoDriver<_DSA>::Bind(pintf, false);
  }

  _DSADispT(_DSAPtr pintf)
  {
    TAutoDriver<_DSA>::Bind(pintf, true);
  }

  _DSADispT& operator=(_DSA *pintf)
  {
    TAutoDriver<_DSA>::Bind(pintf, false);
    return *this;
  }

  _DSADispT& operator=(_DSAPtr pintf)
  {
    TAutoDriver<_DSA>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DSA));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DSA);
  }


};
typedef _DSADispT<_DSA> _DSADisp;

typedef TComInterface<ICspAsymmetricAlgorithm>  TCOMICspAsymmetricAlgorithm;

// *********************************************************************//
// DispIntf:  ICspAsymmetricAlgorithm
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {494A7583-190E-3693-9EC4-DE54DC6A84A2}
// *********************************************************************//
template<class T>
class ICspAsymmetricAlgorithmDispT : public TAutoDriver<ICspAsymmetricAlgorithm>
{
public:
  ICspAsymmetricAlgorithmDispT(){}

  ICspAsymmetricAlgorithmDispT(ICspAsymmetricAlgorithm *pintf)
  {
    TAutoDriver<ICspAsymmetricAlgorithm>::Bind(pintf, false);
  }

  ICspAsymmetricAlgorithmDispT(ICspAsymmetricAlgorithmPtr pintf)
  {
    TAutoDriver<ICspAsymmetricAlgorithm>::Bind(pintf, true);
  }

  ICspAsymmetricAlgorithmDispT& operator=(ICspAsymmetricAlgorithm *pintf)
  {
    TAutoDriver<ICspAsymmetricAlgorithm>::Bind(pintf, false);
    return *this;
  }

  ICspAsymmetricAlgorithmDispT& operator=(ICspAsymmetricAlgorithmPtr pintf)
  {
    TAutoDriver<ICspAsymmetricAlgorithm>::Bind(pintf, true);
    return *this;
  }

  HRESULT         __fastcall get_CspKeyContainerInfo(Mscorlib_tlb::_CspKeyContainerInfoPtr* pRetVal/*[out,retval]*/);
  Mscorlib_tlb::_CspKeyContainerInfoPtr __fastcall get_CspKeyContainerInfo(void);
  HRESULT         __fastcall ExportCspBlob(TOLEBOOL includePrivateParameters/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/);
  LPSAFEARRAY     __fastcall ExportCspBlob(TOLEBOOL includePrivateParameters/*[in]*/);
  HRESULT         __fastcall ImportCspBlob(LPSAFEARRAY rawData/*[in]*/);

  __property   Mscorlib_tlb::_CspKeyContainerInfoPtr CspKeyContainerInfo = {read = get_CspKeyContainerInfo};
};
typedef ICspAsymmetricAlgorithmDispT<ICspAsymmetricAlgorithm> ICspAsymmetricAlgorithmDisp;

// *********************************************************************//
// SmartIntf: TCOM_DSACryptoServiceProvider
// Interface: _DSACryptoServiceProvider
// *********************************************************************//
template <class T /* _DSACryptoServiceProvider */ >
class TCOM_DSACryptoServiceProviderT : public TComInterface<_DSACryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DSACryptoServiceProviderT() {}
  TCOM_DSACryptoServiceProviderT(_DSACryptoServiceProvider *intf, bool addRef = false) : TComInterface<_DSACryptoServiceProvider>(intf, addRef) {}
  TCOM_DSACryptoServiceProviderT(const TCOM_DSACryptoServiceProviderT& src) : TComInterface<_DSACryptoServiceProvider>(src) {}
  TCOM_DSACryptoServiceProviderT& operator=(const TCOM_DSACryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DSACryptoServiceProviderT<_DSACryptoServiceProvider> TCOM_DSACryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _DSACryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1F38AAFE-7502-332F-971F-C2FC700A1D55}
// *********************************************************************//
template<class T>
class _DSACryptoServiceProviderDispT : public TAutoDriver<_DSACryptoServiceProvider>
{
public:
  _DSACryptoServiceProviderDispT(){}

  _DSACryptoServiceProviderDispT(_DSACryptoServiceProvider *pintf)
  {
    TAutoDriver<_DSACryptoServiceProvider>::Bind(pintf, false);
  }

  _DSACryptoServiceProviderDispT(_DSACryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_DSACryptoServiceProvider>::Bind(pintf, true);
  }

  _DSACryptoServiceProviderDispT& operator=(_DSACryptoServiceProvider *pintf)
  {
    TAutoDriver<_DSACryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _DSACryptoServiceProviderDispT& operator=(_DSACryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_DSACryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DSACryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DSACryptoServiceProvider);
  }


};
typedef _DSACryptoServiceProviderDispT<_DSACryptoServiceProvider> _DSACryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_DSASignatureDeformatter
// Interface: _DSASignatureDeformatter
// *********************************************************************//
template <class T /* _DSASignatureDeformatter */ >
class TCOM_DSASignatureDeformatterT : public TComInterface<_DSASignatureDeformatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DSASignatureDeformatterT() {}
  TCOM_DSASignatureDeformatterT(_DSASignatureDeformatter *intf, bool addRef = false) : TComInterface<_DSASignatureDeformatter>(intf, addRef) {}
  TCOM_DSASignatureDeformatterT(const TCOM_DSASignatureDeformatterT& src) : TComInterface<_DSASignatureDeformatter>(src) {}
  TCOM_DSASignatureDeformatterT& operator=(const TCOM_DSASignatureDeformatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DSASignatureDeformatterT<_DSASignatureDeformatter> TCOM_DSASignatureDeformatter;

// *********************************************************************//
// DispIntf:  _DSASignatureDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0E774498-ADE6-3820-B1D5-426B06397BE7}
// *********************************************************************//
template<class T>
class _DSASignatureDeformatterDispT : public TAutoDriver<_DSASignatureDeformatter>
{
public:
  _DSASignatureDeformatterDispT(){}

  _DSASignatureDeformatterDispT(_DSASignatureDeformatter *pintf)
  {
    TAutoDriver<_DSASignatureDeformatter>::Bind(pintf, false);
  }

  _DSASignatureDeformatterDispT(_DSASignatureDeformatterPtr pintf)
  {
    TAutoDriver<_DSASignatureDeformatter>::Bind(pintf, true);
  }

  _DSASignatureDeformatterDispT& operator=(_DSASignatureDeformatter *pintf)
  {
    TAutoDriver<_DSASignatureDeformatter>::Bind(pintf, false);
    return *this;
  }

  _DSASignatureDeformatterDispT& operator=(_DSASignatureDeformatterPtr pintf)
  {
    TAutoDriver<_DSASignatureDeformatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DSASignatureDeformatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DSASignatureDeformatter);
  }


};
typedef _DSASignatureDeformatterDispT<_DSASignatureDeformatter> _DSASignatureDeformatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_DSASignatureFormatter
// Interface: _DSASignatureFormatter
// *********************************************************************//
template <class T /* _DSASignatureFormatter */ >
class TCOM_DSASignatureFormatterT : public TComInterface<_DSASignatureFormatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_DSASignatureFormatterT() {}
  TCOM_DSASignatureFormatterT(_DSASignatureFormatter *intf, bool addRef = false) : TComInterface<_DSASignatureFormatter>(intf, addRef) {}
  TCOM_DSASignatureFormatterT(const TCOM_DSASignatureFormatterT& src) : TComInterface<_DSASignatureFormatter>(src) {}
  TCOM_DSASignatureFormatterT& operator=(const TCOM_DSASignatureFormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_DSASignatureFormatterT<_DSASignatureFormatter> TCOM_DSASignatureFormatter;

// *********************************************************************//
// DispIntf:  _DSASignatureFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4B5FC561-5983-31E4-903B-1404231B2C89}
// *********************************************************************//
template<class T>
class _DSASignatureFormatterDispT : public TAutoDriver<_DSASignatureFormatter>
{
public:
  _DSASignatureFormatterDispT(){}

  _DSASignatureFormatterDispT(_DSASignatureFormatter *pintf)
  {
    TAutoDriver<_DSASignatureFormatter>::Bind(pintf, false);
  }

  _DSASignatureFormatterDispT(_DSASignatureFormatterPtr pintf)
  {
    TAutoDriver<_DSASignatureFormatter>::Bind(pintf, true);
  }

  _DSASignatureFormatterDispT& operator=(_DSASignatureFormatter *pintf)
  {
    TAutoDriver<_DSASignatureFormatter>::Bind(pintf, false);
    return *this;
  }

  _DSASignatureFormatterDispT& operator=(_DSASignatureFormatterPtr pintf)
  {
    TAutoDriver<_DSASignatureFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_DSASignatureFormatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_DSASignatureFormatter);
  }


};
typedef _DSASignatureFormatterDispT<_DSASignatureFormatter> _DSASignatureFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_HashAlgorithm
// Interface: _HashAlgorithm
// *********************************************************************//
template <class T /* _HashAlgorithm */ >
class TCOM_HashAlgorithmT : public TComInterface<_HashAlgorithm>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HashAlgorithmT() {}
  TCOM_HashAlgorithmT(_HashAlgorithm *intf, bool addRef = false) : TComInterface<_HashAlgorithm>(intf, addRef) {}
  TCOM_HashAlgorithmT(const TCOM_HashAlgorithmT& src) : TComInterface<_HashAlgorithm>(src) {}
  TCOM_HashAlgorithmT& operator=(const TCOM_HashAlgorithmT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HashAlgorithmT<_HashAlgorithm> TCOM_HashAlgorithm;

// *********************************************************************//
// DispIntf:  _HashAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {69D3BABA-1C3D-354C-ACFE-F19109EC3896}
// *********************************************************************//
template<class T>
class _HashAlgorithmDispT : public TAutoDriver<_HashAlgorithm>
{
public:
  _HashAlgorithmDispT(){}

  _HashAlgorithmDispT(_HashAlgorithm *pintf)
  {
    TAutoDriver<_HashAlgorithm>::Bind(pintf, false);
  }

  _HashAlgorithmDispT(_HashAlgorithmPtr pintf)
  {
    TAutoDriver<_HashAlgorithm>::Bind(pintf, true);
  }

  _HashAlgorithmDispT& operator=(_HashAlgorithm *pintf)
  {
    TAutoDriver<_HashAlgorithm>::Bind(pintf, false);
    return *this;
  }

  _HashAlgorithmDispT& operator=(_HashAlgorithmPtr pintf)
  {
    TAutoDriver<_HashAlgorithm>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HashAlgorithm));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HashAlgorithm);
  }


};
typedef _HashAlgorithmDispT<_HashAlgorithm> _HashAlgorithmDisp;

// *********************************************************************//
// SmartIntf: TCOM_KeyedHashAlgorithm
// Interface: _KeyedHashAlgorithm
// *********************************************************************//
template <class T /* _KeyedHashAlgorithm */ >
class TCOM_KeyedHashAlgorithmT : public TComInterface<_KeyedHashAlgorithm>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_KeyedHashAlgorithmT() {}
  TCOM_KeyedHashAlgorithmT(_KeyedHashAlgorithm *intf, bool addRef = false) : TComInterface<_KeyedHashAlgorithm>(intf, addRef) {}
  TCOM_KeyedHashAlgorithmT(const TCOM_KeyedHashAlgorithmT& src) : TComInterface<_KeyedHashAlgorithm>(src) {}
  TCOM_KeyedHashAlgorithmT& operator=(const TCOM_KeyedHashAlgorithmT& src) { Bind(src, true); return *this;}


};
typedef TCOM_KeyedHashAlgorithmT<_KeyedHashAlgorithm> TCOM_KeyedHashAlgorithm;

// *********************************************************************//
// DispIntf:  _KeyedHashAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D182CF91-628C-3FF6-87F0-41BA51CC7433}
// *********************************************************************//
template<class T>
class _KeyedHashAlgorithmDispT : public TAutoDriver<_KeyedHashAlgorithm>
{
public:
  _KeyedHashAlgorithmDispT(){}

  _KeyedHashAlgorithmDispT(_KeyedHashAlgorithm *pintf)
  {
    TAutoDriver<_KeyedHashAlgorithm>::Bind(pintf, false);
  }

  _KeyedHashAlgorithmDispT(_KeyedHashAlgorithmPtr pintf)
  {
    TAutoDriver<_KeyedHashAlgorithm>::Bind(pintf, true);
  }

  _KeyedHashAlgorithmDispT& operator=(_KeyedHashAlgorithm *pintf)
  {
    TAutoDriver<_KeyedHashAlgorithm>::Bind(pintf, false);
    return *this;
  }

  _KeyedHashAlgorithmDispT& operator=(_KeyedHashAlgorithmPtr pintf)
  {
    TAutoDriver<_KeyedHashAlgorithm>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_KeyedHashAlgorithm));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_KeyedHashAlgorithm);
  }


};
typedef _KeyedHashAlgorithmDispT<_KeyedHashAlgorithm> _KeyedHashAlgorithmDisp;

// *********************************************************************//
// SmartIntf: TCOM_HMAC
// Interface: _HMAC
// *********************************************************************//
template <class T /* _HMAC */ >
class TCOM_HMACT : public TComInterface<_HMAC>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HMACT() {}
  TCOM_HMACT(_HMAC *intf, bool addRef = false) : TComInterface<_HMAC>(intf, addRef) {}
  TCOM_HMACT(const TCOM_HMACT& src) : TComInterface<_HMAC>(src) {}
  TCOM_HMACT& operator=(const TCOM_HMACT& src) { Bind(src, true); return *this;}


};
typedef TCOM_HMACT<_HMAC> TCOM_HMAC;

// *********************************************************************//
// DispIntf:  _HMAC
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5456726-33F6-34E4-95C2-DB2BFA581462}
// *********************************************************************//
template<class T>
class _HMACDispT : public TAutoDriver<_HMAC>
{
public:
  _HMACDispT(){}

  _HMACDispT(_HMAC *pintf)
  {
    TAutoDriver<_HMAC>::Bind(pintf, false);
  }

  _HMACDispT(_HMACPtr pintf)
  {
    TAutoDriver<_HMAC>::Bind(pintf, true);
  }

  _HMACDispT& operator=(_HMAC *pintf)
  {
    TAutoDriver<_HMAC>::Bind(pintf, false);
    return *this;
  }

  _HMACDispT& operator=(_HMACPtr pintf)
  {
    TAutoDriver<_HMAC>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HMAC));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HMAC);
  }


};
typedef _HMACDispT<_HMAC> _HMACDisp;

// *********************************************************************//
// SmartIntf: TCOM_HMACMD5
// Interface: _HMACMD5
// *********************************************************************//
template <class T /* _HMACMD5 */ >
class TCOM_HMACMD5T : public TComInterface<_HMACMD5>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HMACMD5T() {}
  TCOM_HMACMD5T(_HMACMD5 *intf, bool addRef = false) : TComInterface<_HMACMD5>(intf, addRef) {}
  TCOM_HMACMD5T(const TCOM_HMACMD5T& src) : TComInterface<_HMACMD5>(src) {}
  TCOM_HMACMD5T& operator=(const TCOM_HMACMD5T& src) { Bind(src, true); return *this;}


};
typedef TCOM_HMACMD5T<_HMACMD5> TCOM_HMACMD5;

// *********************************************************************//
// DispIntf:  _HMACMD5
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {486360F5-6213-322B-BEFB-45221579D4AF}
// *********************************************************************//
template<class T>
class _HMACMD5DispT : public TAutoDriver<_HMACMD5>
{
public:
  _HMACMD5DispT(){}

  _HMACMD5DispT(_HMACMD5 *pintf)
  {
    TAutoDriver<_HMACMD5>::Bind(pintf, false);
  }

  _HMACMD5DispT(_HMACMD5Ptr pintf)
  {
    TAutoDriver<_HMACMD5>::Bind(pintf, true);
  }

  _HMACMD5DispT& operator=(_HMACMD5 *pintf)
  {
    TAutoDriver<_HMACMD5>::Bind(pintf, false);
    return *this;
  }

  _HMACMD5DispT& operator=(_HMACMD5Ptr pintf)
  {
    TAutoDriver<_HMACMD5>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HMACMD5));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HMACMD5);
  }


};
typedef _HMACMD5DispT<_HMACMD5> _HMACMD5Disp;

// *********************************************************************//
// SmartIntf: TCOM_HMACRIPEMD160
// Interface: _HMACRIPEMD160
// *********************************************************************//
template <class T /* _HMACRIPEMD160 */ >
class TCOM_HMACRIPEMD160T : public TComInterface<_HMACRIPEMD160>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HMACRIPEMD160T() {}
  TCOM_HMACRIPEMD160T(_HMACRIPEMD160 *intf, bool addRef = false) : TComInterface<_HMACRIPEMD160>(intf, addRef) {}
  TCOM_HMACRIPEMD160T(const TCOM_HMACRIPEMD160T& src) : TComInterface<_HMACRIPEMD160>(src) {}
  TCOM_HMACRIPEMD160T& operator=(const TCOM_HMACRIPEMD160T& src) { Bind(src, true); return *this;}


};
typedef TCOM_HMACRIPEMD160T<_HMACRIPEMD160> TCOM_HMACRIPEMD160;

// *********************************************************************//
// DispIntf:  _HMACRIPEMD160
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9FD974A5-338C-37B9-A1B2-D45F0C2B25C2}
// *********************************************************************//
template<class T>
class _HMACRIPEMD160DispT : public TAutoDriver<_HMACRIPEMD160>
{
public:
  _HMACRIPEMD160DispT(){}

  _HMACRIPEMD160DispT(_HMACRIPEMD160 *pintf)
  {
    TAutoDriver<_HMACRIPEMD160>::Bind(pintf, false);
  }

  _HMACRIPEMD160DispT(_HMACRIPEMD160Ptr pintf)
  {
    TAutoDriver<_HMACRIPEMD160>::Bind(pintf, true);
  }

  _HMACRIPEMD160DispT& operator=(_HMACRIPEMD160 *pintf)
  {
    TAutoDriver<_HMACRIPEMD160>::Bind(pintf, false);
    return *this;
  }

  _HMACRIPEMD160DispT& operator=(_HMACRIPEMD160Ptr pintf)
  {
    TAutoDriver<_HMACRIPEMD160>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HMACRIPEMD160));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HMACRIPEMD160);
  }


};
typedef _HMACRIPEMD160DispT<_HMACRIPEMD160> _HMACRIPEMD160Disp;

// *********************************************************************//
// SmartIntf: TCOM_HMACSHA1
// Interface: _HMACSHA1
// *********************************************************************//
template <class T /* _HMACSHA1 */ >
class TCOM_HMACSHA1T : public TComInterface<_HMACSHA1>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HMACSHA1T() {}
  TCOM_HMACSHA1T(_HMACSHA1 *intf, bool addRef = false) : TComInterface<_HMACSHA1>(intf, addRef) {}
  TCOM_HMACSHA1T(const TCOM_HMACSHA1T& src) : TComInterface<_HMACSHA1>(src) {}
  TCOM_HMACSHA1T& operator=(const TCOM_HMACSHA1T& src) { Bind(src, true); return *this;}


};
typedef TCOM_HMACSHA1T<_HMACSHA1> TCOM_HMACSHA1;

// *********************************************************************//
// DispIntf:  _HMACSHA1
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {63AC7C37-C51A-3D82-8FDD-2A567039E46D}
// *********************************************************************//
template<class T>
class _HMACSHA1DispT : public TAutoDriver<_HMACSHA1>
{
public:
  _HMACSHA1DispT(){}

  _HMACSHA1DispT(_HMACSHA1 *pintf)
  {
    TAutoDriver<_HMACSHA1>::Bind(pintf, false);
  }

  _HMACSHA1DispT(_HMACSHA1Ptr pintf)
  {
    TAutoDriver<_HMACSHA1>::Bind(pintf, true);
  }

  _HMACSHA1DispT& operator=(_HMACSHA1 *pintf)
  {
    TAutoDriver<_HMACSHA1>::Bind(pintf, false);
    return *this;
  }

  _HMACSHA1DispT& operator=(_HMACSHA1Ptr pintf)
  {
    TAutoDriver<_HMACSHA1>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HMACSHA1));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HMACSHA1);
  }


};
typedef _HMACSHA1DispT<_HMACSHA1> _HMACSHA1Disp;

// *********************************************************************//
// SmartIntf: TCOM_HMACSHA256
// Interface: _HMACSHA256
// *********************************************************************//
template <class T /* _HMACSHA256 */ >
class TCOM_HMACSHA256T : public TComInterface<_HMACSHA256>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HMACSHA256T() {}
  TCOM_HMACSHA256T(_HMACSHA256 *intf, bool addRef = false) : TComInterface<_HMACSHA256>(intf, addRef) {}
  TCOM_HMACSHA256T(const TCOM_HMACSHA256T& src) : TComInterface<_HMACSHA256>(src) {}
  TCOM_HMACSHA256T& operator=(const TCOM_HMACSHA256T& src) { Bind(src, true); return *this;}


};
typedef TCOM_HMACSHA256T<_HMACSHA256> TCOM_HMACSHA256;

// *********************************************************************//
// DispIntf:  _HMACSHA256
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1377CE34-8921-3BD4-96E9-C8D5D5AA1ADF}
// *********************************************************************//
template<class T>
class _HMACSHA256DispT : public TAutoDriver<_HMACSHA256>
{
public:
  _HMACSHA256DispT(){}

  _HMACSHA256DispT(_HMACSHA256 *pintf)
  {
    TAutoDriver<_HMACSHA256>::Bind(pintf, false);
  }

  _HMACSHA256DispT(_HMACSHA256Ptr pintf)
  {
    TAutoDriver<_HMACSHA256>::Bind(pintf, true);
  }

  _HMACSHA256DispT& operator=(_HMACSHA256 *pintf)
  {
    TAutoDriver<_HMACSHA256>::Bind(pintf, false);
    return *this;
  }

  _HMACSHA256DispT& operator=(_HMACSHA256Ptr pintf)
  {
    TAutoDriver<_HMACSHA256>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HMACSHA256));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HMACSHA256);
  }


};
typedef _HMACSHA256DispT<_HMACSHA256> _HMACSHA256Disp;

// *********************************************************************//
// SmartIntf: TCOM_HMACSHA384
// Interface: _HMACSHA384
// *********************************************************************//
template <class T /* _HMACSHA384 */ >
class TCOM_HMACSHA384T : public TComInterface<_HMACSHA384>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HMACSHA384T() {}
  TCOM_HMACSHA384T(_HMACSHA384 *intf, bool addRef = false) : TComInterface<_HMACSHA384>(intf, addRef) {}
  TCOM_HMACSHA384T(const TCOM_HMACSHA384T& src) : TComInterface<_HMACSHA384>(src) {}
  TCOM_HMACSHA384T& operator=(const TCOM_HMACSHA384T& src) { Bind(src, true); return *this;}


};
typedef TCOM_HMACSHA384T<_HMACSHA384> TCOM_HMACSHA384;

// *********************************************************************//
// DispIntf:  _HMACSHA384
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {786F8AC3-93E4-3B6F-9F62-1901B0E5F433}
// *********************************************************************//
template<class T>
class _HMACSHA384DispT : public TAutoDriver<_HMACSHA384>
{
public:
  _HMACSHA384DispT(){}

  _HMACSHA384DispT(_HMACSHA384 *pintf)
  {
    TAutoDriver<_HMACSHA384>::Bind(pintf, false);
  }

  _HMACSHA384DispT(_HMACSHA384Ptr pintf)
  {
    TAutoDriver<_HMACSHA384>::Bind(pintf, true);
  }

  _HMACSHA384DispT& operator=(_HMACSHA384 *pintf)
  {
    TAutoDriver<_HMACSHA384>::Bind(pintf, false);
    return *this;
  }

  _HMACSHA384DispT& operator=(_HMACSHA384Ptr pintf)
  {
    TAutoDriver<_HMACSHA384>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HMACSHA384));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HMACSHA384);
  }


};
typedef _HMACSHA384DispT<_HMACSHA384> _HMACSHA384Disp;

// *********************************************************************//
// SmartIntf: TCOM_HMACSHA512
// Interface: _HMACSHA512
// *********************************************************************//
template <class T /* _HMACSHA512 */ >
class TCOM_HMACSHA512T : public TComInterface<_HMACSHA512>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_HMACSHA512T() {}
  TCOM_HMACSHA512T(_HMACSHA512 *intf, bool addRef = false) : TComInterface<_HMACSHA512>(intf, addRef) {}
  TCOM_HMACSHA512T(const TCOM_HMACSHA512T& src) : TComInterface<_HMACSHA512>(src) {}
  TCOM_HMACSHA512T& operator=(const TCOM_HMACSHA512T& src) { Bind(src, true); return *this;}


};
typedef TCOM_HMACSHA512T<_HMACSHA512> TCOM_HMACSHA512;

// *********************************************************************//
// DispIntf:  _HMACSHA512
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EB081B9D-A766-3ABE-B720-505C42162D83}
// *********************************************************************//
template<class T>
class _HMACSHA512DispT : public TAutoDriver<_HMACSHA512>
{
public:
  _HMACSHA512DispT(){}

  _HMACSHA512DispT(_HMACSHA512 *pintf)
  {
    TAutoDriver<_HMACSHA512>::Bind(pintf, false);
  }

  _HMACSHA512DispT(_HMACSHA512Ptr pintf)
  {
    TAutoDriver<_HMACSHA512>::Bind(pintf, true);
  }

  _HMACSHA512DispT& operator=(_HMACSHA512 *pintf)
  {
    TAutoDriver<_HMACSHA512>::Bind(pintf, false);
    return *this;
  }

  _HMACSHA512DispT& operator=(_HMACSHA512Ptr pintf)
  {
    TAutoDriver<_HMACSHA512>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_HMACSHA512));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_HMACSHA512);
  }


};
typedef _HMACSHA512DispT<_HMACSHA512> _HMACSHA512Disp;

// *********************************************************************//
// SmartIntf: TCOM_CspKeyContainerInfo
// Interface: _CspKeyContainerInfo
// *********************************************************************//
template <class T /* _CspKeyContainerInfo */ >
class TCOM_CspKeyContainerInfoT : public TComInterface<_CspKeyContainerInfo>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_CspKeyContainerInfoT() {}
  TCOM_CspKeyContainerInfoT(_CspKeyContainerInfo *intf, bool addRef = false) : TComInterface<_CspKeyContainerInfo>(intf, addRef) {}
  TCOM_CspKeyContainerInfoT(const TCOM_CspKeyContainerInfoT& src) : TComInterface<_CspKeyContainerInfo>(src) {}
  TCOM_CspKeyContainerInfoT& operator=(const TCOM_CspKeyContainerInfoT& src) { Bind(src, true); return *this;}


};
typedef TCOM_CspKeyContainerInfoT<_CspKeyContainerInfo> TCOM_CspKeyContainerInfo;

// *********************************************************************//
// DispIntf:  _CspKeyContainerInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BE8619CB-3731-3CB2-A3A8-CD0BFA5566EC}
// *********************************************************************//
template<class T>
class _CspKeyContainerInfoDispT : public TAutoDriver<_CspKeyContainerInfo>
{
public:
  _CspKeyContainerInfoDispT(){}

  _CspKeyContainerInfoDispT(_CspKeyContainerInfo *pintf)
  {
    TAutoDriver<_CspKeyContainerInfo>::Bind(pintf, false);
  }

  _CspKeyContainerInfoDispT(_CspKeyContainerInfoPtr pintf)
  {
    TAutoDriver<_CspKeyContainerInfo>::Bind(pintf, true);
  }

  _CspKeyContainerInfoDispT& operator=(_CspKeyContainerInfo *pintf)
  {
    TAutoDriver<_CspKeyContainerInfo>::Bind(pintf, false);
    return *this;
  }

  _CspKeyContainerInfoDispT& operator=(_CspKeyContainerInfoPtr pintf)
  {
    TAutoDriver<_CspKeyContainerInfo>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_CspKeyContainerInfo));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_CspKeyContainerInfo);
  }


};
typedef _CspKeyContainerInfoDispT<_CspKeyContainerInfo> _CspKeyContainerInfoDisp;

// *********************************************************************//
// SmartIntf: TCOM_MACTripleDES
// Interface: _MACTripleDES
// *********************************************************************//
template <class T /* _MACTripleDES */ >
class TCOM_MACTripleDEST : public TComInterface<_MACTripleDES>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MACTripleDEST() {}
  TCOM_MACTripleDEST(_MACTripleDES *intf, bool addRef = false) : TComInterface<_MACTripleDES>(intf, addRef) {}
  TCOM_MACTripleDEST(const TCOM_MACTripleDEST& src) : TComInterface<_MACTripleDES>(src) {}
  TCOM_MACTripleDEST& operator=(const TCOM_MACTripleDEST& src) { Bind(src, true); return *this;}


};
typedef TCOM_MACTripleDEST<_MACTripleDES> TCOM_MACTripleDES;

// *********************************************************************//
// DispIntf:  _MACTripleDES
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1CAC0BDA-AC58-31BC-B624-63F77D0C3D2F}
// *********************************************************************//
template<class T>
class _MACTripleDESDispT : public TAutoDriver<_MACTripleDES>
{
public:
  _MACTripleDESDispT(){}

  _MACTripleDESDispT(_MACTripleDES *pintf)
  {
    TAutoDriver<_MACTripleDES>::Bind(pintf, false);
  }

  _MACTripleDESDispT(_MACTripleDESPtr pintf)
  {
    TAutoDriver<_MACTripleDES>::Bind(pintf, true);
  }

  _MACTripleDESDispT& operator=(_MACTripleDES *pintf)
  {
    TAutoDriver<_MACTripleDES>::Bind(pintf, false);
    return *this;
  }

  _MACTripleDESDispT& operator=(_MACTripleDESPtr pintf)
  {
    TAutoDriver<_MACTripleDES>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MACTripleDES));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MACTripleDES);
  }


};
typedef _MACTripleDESDispT<_MACTripleDES> _MACTripleDESDisp;

// *********************************************************************//
// SmartIntf: TCOM_MD5
// Interface: _MD5
// *********************************************************************//
template <class T /* _MD5 */ >
class TCOM_MD5T : public TComInterface<_MD5>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MD5T() {}
  TCOM_MD5T(_MD5 *intf, bool addRef = false) : TComInterface<_MD5>(intf, addRef) {}
  TCOM_MD5T(const TCOM_MD5T& src) : TComInterface<_MD5>(src) {}
  TCOM_MD5T& operator=(const TCOM_MD5T& src) { Bind(src, true); return *this;}


};
typedef TCOM_MD5T<_MD5> TCOM_MD5;

// *********************************************************************//
// DispIntf:  _MD5
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9AA8765E-69A0-30E3-9CDE-EBC70662AE37}
// *********************************************************************//
template<class T>
class _MD5DispT : public TAutoDriver<_MD5>
{
public:
  _MD5DispT(){}

  _MD5DispT(_MD5 *pintf)
  {
    TAutoDriver<_MD5>::Bind(pintf, false);
  }

  _MD5DispT(_MD5Ptr pintf)
  {
    TAutoDriver<_MD5>::Bind(pintf, true);
  }

  _MD5DispT& operator=(_MD5 *pintf)
  {
    TAutoDriver<_MD5>::Bind(pintf, false);
    return *this;
  }

  _MD5DispT& operator=(_MD5Ptr pintf)
  {
    TAutoDriver<_MD5>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MD5));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MD5);
  }


};
typedef _MD5DispT<_MD5> _MD5Disp;

// *********************************************************************//
// SmartIntf: TCOM_MD5CryptoServiceProvider
// Interface: _MD5CryptoServiceProvider
// *********************************************************************//
template <class T /* _MD5CryptoServiceProvider */ >
class TCOM_MD5CryptoServiceProviderT : public TComInterface<_MD5CryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MD5CryptoServiceProviderT() {}
  TCOM_MD5CryptoServiceProviderT(_MD5CryptoServiceProvider *intf, bool addRef = false) : TComInterface<_MD5CryptoServiceProvider>(intf, addRef) {}
  TCOM_MD5CryptoServiceProviderT(const TCOM_MD5CryptoServiceProviderT& src) : TComInterface<_MD5CryptoServiceProvider>(src) {}
  TCOM_MD5CryptoServiceProviderT& operator=(const TCOM_MD5CryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MD5CryptoServiceProviderT<_MD5CryptoServiceProvider> TCOM_MD5CryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _MD5CryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D3F5C812-5867-33C9-8CEE-CB170E8D844A}
// *********************************************************************//
template<class T>
class _MD5CryptoServiceProviderDispT : public TAutoDriver<_MD5CryptoServiceProvider>
{
public:
  _MD5CryptoServiceProviderDispT(){}

  _MD5CryptoServiceProviderDispT(_MD5CryptoServiceProvider *pintf)
  {
    TAutoDriver<_MD5CryptoServiceProvider>::Bind(pintf, false);
  }

  _MD5CryptoServiceProviderDispT(_MD5CryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_MD5CryptoServiceProvider>::Bind(pintf, true);
  }

  _MD5CryptoServiceProviderDispT& operator=(_MD5CryptoServiceProvider *pintf)
  {
    TAutoDriver<_MD5CryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _MD5CryptoServiceProviderDispT& operator=(_MD5CryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_MD5CryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MD5CryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MD5CryptoServiceProvider);
  }


};
typedef _MD5CryptoServiceProviderDispT<_MD5CryptoServiceProvider> _MD5CryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_MaskGenerationMethod
// Interface: _MaskGenerationMethod
// *********************************************************************//
template <class T /* _MaskGenerationMethod */ >
class TCOM_MaskGenerationMethodT : public TComInterface<_MaskGenerationMethod>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_MaskGenerationMethodT() {}
  TCOM_MaskGenerationMethodT(_MaskGenerationMethod *intf, bool addRef = false) : TComInterface<_MaskGenerationMethod>(intf, addRef) {}
  TCOM_MaskGenerationMethodT(const TCOM_MaskGenerationMethodT& src) : TComInterface<_MaskGenerationMethod>(src) {}
  TCOM_MaskGenerationMethodT& operator=(const TCOM_MaskGenerationMethodT& src) { Bind(src, true); return *this;}


};
typedef TCOM_MaskGenerationMethodT<_MaskGenerationMethod> TCOM_MaskGenerationMethod;

// *********************************************************************//
// DispIntf:  _MaskGenerationMethod
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {85601FEE-A79D-3710-AF21-099089EDC0BF}
// *********************************************************************//
template<class T>
class _MaskGenerationMethodDispT : public TAutoDriver<_MaskGenerationMethod>
{
public:
  _MaskGenerationMethodDispT(){}

  _MaskGenerationMethodDispT(_MaskGenerationMethod *pintf)
  {
    TAutoDriver<_MaskGenerationMethod>::Bind(pintf, false);
  }

  _MaskGenerationMethodDispT(_MaskGenerationMethodPtr pintf)
  {
    TAutoDriver<_MaskGenerationMethod>::Bind(pintf, true);
  }

  _MaskGenerationMethodDispT& operator=(_MaskGenerationMethod *pintf)
  {
    TAutoDriver<_MaskGenerationMethod>::Bind(pintf, false);
    return *this;
  }

  _MaskGenerationMethodDispT& operator=(_MaskGenerationMethodPtr pintf)
  {
    TAutoDriver<_MaskGenerationMethod>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_MaskGenerationMethod));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_MaskGenerationMethod);
  }


};
typedef _MaskGenerationMethodDispT<_MaskGenerationMethod> _MaskGenerationMethodDisp;

// *********************************************************************//
// SmartIntf: TCOM_PasswordDeriveBytes
// Interface: _PasswordDeriveBytes
// *********************************************************************//
template <class T /* _PasswordDeriveBytes */ >
class TCOM_PasswordDeriveBytesT : public TComInterface<_PasswordDeriveBytes>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PasswordDeriveBytesT() {}
  TCOM_PasswordDeriveBytesT(_PasswordDeriveBytes *intf, bool addRef = false) : TComInterface<_PasswordDeriveBytes>(intf, addRef) {}
  TCOM_PasswordDeriveBytesT(const TCOM_PasswordDeriveBytesT& src) : TComInterface<_PasswordDeriveBytes>(src) {}
  TCOM_PasswordDeriveBytesT& operator=(const TCOM_PasswordDeriveBytesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PasswordDeriveBytesT<_PasswordDeriveBytes> TCOM_PasswordDeriveBytes;

// *********************************************************************//
// DispIntf:  _PasswordDeriveBytes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3CD62D67-586F-309E-A6D8-1F4BAAC5AC28}
// *********************************************************************//
template<class T>
class _PasswordDeriveBytesDispT : public TAutoDriver<_PasswordDeriveBytes>
{
public:
  _PasswordDeriveBytesDispT(){}

  _PasswordDeriveBytesDispT(_PasswordDeriveBytes *pintf)
  {
    TAutoDriver<_PasswordDeriveBytes>::Bind(pintf, false);
  }

  _PasswordDeriveBytesDispT(_PasswordDeriveBytesPtr pintf)
  {
    TAutoDriver<_PasswordDeriveBytes>::Bind(pintf, true);
  }

  _PasswordDeriveBytesDispT& operator=(_PasswordDeriveBytes *pintf)
  {
    TAutoDriver<_PasswordDeriveBytes>::Bind(pintf, false);
    return *this;
  }

  _PasswordDeriveBytesDispT& operator=(_PasswordDeriveBytesPtr pintf)
  {
    TAutoDriver<_PasswordDeriveBytes>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PasswordDeriveBytes));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PasswordDeriveBytes);
  }


};
typedef _PasswordDeriveBytesDispT<_PasswordDeriveBytes> _PasswordDeriveBytesDisp;

// *********************************************************************//
// SmartIntf: TCOM_PKCS1MaskGenerationMethod
// Interface: _PKCS1MaskGenerationMethod
// *********************************************************************//
template <class T /* _PKCS1MaskGenerationMethod */ >
class TCOM_PKCS1MaskGenerationMethodT : public TComInterface<_PKCS1MaskGenerationMethod>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_PKCS1MaskGenerationMethodT() {}
  TCOM_PKCS1MaskGenerationMethodT(_PKCS1MaskGenerationMethod *intf, bool addRef = false) : TComInterface<_PKCS1MaskGenerationMethod>(intf, addRef) {}
  TCOM_PKCS1MaskGenerationMethodT(const TCOM_PKCS1MaskGenerationMethodT& src) : TComInterface<_PKCS1MaskGenerationMethod>(src) {}
  TCOM_PKCS1MaskGenerationMethodT& operator=(const TCOM_PKCS1MaskGenerationMethodT& src) { Bind(src, true); return *this;}


};
typedef TCOM_PKCS1MaskGenerationMethodT<_PKCS1MaskGenerationMethod> TCOM_PKCS1MaskGenerationMethod;

// *********************************************************************//
// DispIntf:  _PKCS1MaskGenerationMethod
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {425BFF0D-59E4-36A8-B1FF-1F5D39D698F4}
// *********************************************************************//
template<class T>
class _PKCS1MaskGenerationMethodDispT : public TAutoDriver<_PKCS1MaskGenerationMethod>
{
public:
  _PKCS1MaskGenerationMethodDispT(){}

  _PKCS1MaskGenerationMethodDispT(_PKCS1MaskGenerationMethod *pintf)
  {
    TAutoDriver<_PKCS1MaskGenerationMethod>::Bind(pintf, false);
  }

  _PKCS1MaskGenerationMethodDispT(_PKCS1MaskGenerationMethodPtr pintf)
  {
    TAutoDriver<_PKCS1MaskGenerationMethod>::Bind(pintf, true);
  }

  _PKCS1MaskGenerationMethodDispT& operator=(_PKCS1MaskGenerationMethod *pintf)
  {
    TAutoDriver<_PKCS1MaskGenerationMethod>::Bind(pintf, false);
    return *this;
  }

  _PKCS1MaskGenerationMethodDispT& operator=(_PKCS1MaskGenerationMethodPtr pintf)
  {
    TAutoDriver<_PKCS1MaskGenerationMethod>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_PKCS1MaskGenerationMethod));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_PKCS1MaskGenerationMethod);
  }


};
typedef _PKCS1MaskGenerationMethodDispT<_PKCS1MaskGenerationMethod> _PKCS1MaskGenerationMethodDisp;

// *********************************************************************//
// SmartIntf: TCOM_RC2
// Interface: _RC2
// *********************************************************************//
template <class T /* _RC2 */ >
class TCOM_RC2T : public TComInterface<_RC2>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RC2T() {}
  TCOM_RC2T(_RC2 *intf, bool addRef = false) : TComInterface<_RC2>(intf, addRef) {}
  TCOM_RC2T(const TCOM_RC2T& src) : TComInterface<_RC2>(src) {}
  TCOM_RC2T& operator=(const TCOM_RC2T& src) { Bind(src, true); return *this;}


};
typedef TCOM_RC2T<_RC2> TCOM_RC2;

// *********************************************************************//
// DispIntf:  _RC2
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F7C0C4CC-0D49-31EE-A3D3-B8B551E4928C}
// *********************************************************************//
template<class T>
class _RC2DispT : public TAutoDriver<_RC2>
{
public:
  _RC2DispT(){}

  _RC2DispT(_RC2 *pintf)
  {
    TAutoDriver<_RC2>::Bind(pintf, false);
  }

  _RC2DispT(_RC2Ptr pintf)
  {
    TAutoDriver<_RC2>::Bind(pintf, true);
  }

  _RC2DispT& operator=(_RC2 *pintf)
  {
    TAutoDriver<_RC2>::Bind(pintf, false);
    return *this;
  }

  _RC2DispT& operator=(_RC2Ptr pintf)
  {
    TAutoDriver<_RC2>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RC2));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RC2);
  }


};
typedef _RC2DispT<_RC2> _RC2Disp;

// *********************************************************************//
// SmartIntf: TCOM_RC2CryptoServiceProvider
// Interface: _RC2CryptoServiceProvider
// *********************************************************************//
template <class T /* _RC2CryptoServiceProvider */ >
class TCOM_RC2CryptoServiceProviderT : public TComInterface<_RC2CryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RC2CryptoServiceProviderT() {}
  TCOM_RC2CryptoServiceProviderT(_RC2CryptoServiceProvider *intf, bool addRef = false) : TComInterface<_RC2CryptoServiceProvider>(intf, addRef) {}
  TCOM_RC2CryptoServiceProviderT(const TCOM_RC2CryptoServiceProviderT& src) : TComInterface<_RC2CryptoServiceProvider>(src) {}
  TCOM_RC2CryptoServiceProviderT& operator=(const TCOM_RC2CryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RC2CryptoServiceProviderT<_RC2CryptoServiceProvider> TCOM_RC2CryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _RC2CryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {875715C5-CB64-3920-8156-0EE9CB0E07EA}
// *********************************************************************//
template<class T>
class _RC2CryptoServiceProviderDispT : public TAutoDriver<_RC2CryptoServiceProvider>
{
public:
  _RC2CryptoServiceProviderDispT(){}

  _RC2CryptoServiceProviderDispT(_RC2CryptoServiceProvider *pintf)
  {
    TAutoDriver<_RC2CryptoServiceProvider>::Bind(pintf, false);
  }

  _RC2CryptoServiceProviderDispT(_RC2CryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_RC2CryptoServiceProvider>::Bind(pintf, true);
  }

  _RC2CryptoServiceProviderDispT& operator=(_RC2CryptoServiceProvider *pintf)
  {
    TAutoDriver<_RC2CryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _RC2CryptoServiceProviderDispT& operator=(_RC2CryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_RC2CryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RC2CryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RC2CryptoServiceProvider);
  }


};
typedef _RC2CryptoServiceProviderDispT<_RC2CryptoServiceProvider> _RC2CryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_Rfc2898DeriveBytes
// Interface: _Rfc2898DeriveBytes
// *********************************************************************//
template <class T /* _Rfc2898DeriveBytes */ >
class TCOM_Rfc2898DeriveBytesT : public TComInterface<_Rfc2898DeriveBytes>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_Rfc2898DeriveBytesT() {}
  TCOM_Rfc2898DeriveBytesT(_Rfc2898DeriveBytes *intf, bool addRef = false) : TComInterface<_Rfc2898DeriveBytes>(intf, addRef) {}
  TCOM_Rfc2898DeriveBytesT(const TCOM_Rfc2898DeriveBytesT& src) : TComInterface<_Rfc2898DeriveBytes>(src) {}
  TCOM_Rfc2898DeriveBytesT& operator=(const TCOM_Rfc2898DeriveBytesT& src) { Bind(src, true); return *this;}


};
typedef TCOM_Rfc2898DeriveBytesT<_Rfc2898DeriveBytes> TCOM_Rfc2898DeriveBytes;

// *********************************************************************//
// DispIntf:  _Rfc2898DeriveBytes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A6589897-5A67-305F-9497-72E5FE8BEAD5}
// *********************************************************************//
template<class T>
class _Rfc2898DeriveBytesDispT : public TAutoDriver<_Rfc2898DeriveBytes>
{
public:
  _Rfc2898DeriveBytesDispT(){}

  _Rfc2898DeriveBytesDispT(_Rfc2898DeriveBytes *pintf)
  {
    TAutoDriver<_Rfc2898DeriveBytes>::Bind(pintf, false);
  }

  _Rfc2898DeriveBytesDispT(_Rfc2898DeriveBytesPtr pintf)
  {
    TAutoDriver<_Rfc2898DeriveBytes>::Bind(pintf, true);
  }

  _Rfc2898DeriveBytesDispT& operator=(_Rfc2898DeriveBytes *pintf)
  {
    TAutoDriver<_Rfc2898DeriveBytes>::Bind(pintf, false);
    return *this;
  }

  _Rfc2898DeriveBytesDispT& operator=(_Rfc2898DeriveBytesPtr pintf)
  {
    TAutoDriver<_Rfc2898DeriveBytes>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Rfc2898DeriveBytes));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Rfc2898DeriveBytes);
  }


};
typedef _Rfc2898DeriveBytesDispT<_Rfc2898DeriveBytes> _Rfc2898DeriveBytesDisp;

// *********************************************************************//
// SmartIntf: TCOM_RIPEMD160
// Interface: _RIPEMD160
// *********************************************************************//
template <class T /* _RIPEMD160 */ >
class TCOM_RIPEMD160T : public TComInterface<_RIPEMD160>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RIPEMD160T() {}
  TCOM_RIPEMD160T(_RIPEMD160 *intf, bool addRef = false) : TComInterface<_RIPEMD160>(intf, addRef) {}
  TCOM_RIPEMD160T(const TCOM_RIPEMD160T& src) : TComInterface<_RIPEMD160>(src) {}
  TCOM_RIPEMD160T& operator=(const TCOM_RIPEMD160T& src) { Bind(src, true); return *this;}


};
typedef TCOM_RIPEMD160T<_RIPEMD160> TCOM_RIPEMD160;

// *********************************************************************//
// DispIntf:  _RIPEMD160
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5481BE9-3422-3506-BC35-B96D4535014D}
// *********************************************************************//
template<class T>
class _RIPEMD160DispT : public TAutoDriver<_RIPEMD160>
{
public:
  _RIPEMD160DispT(){}

  _RIPEMD160DispT(_RIPEMD160 *pintf)
  {
    TAutoDriver<_RIPEMD160>::Bind(pintf, false);
  }

  _RIPEMD160DispT(_RIPEMD160Ptr pintf)
  {
    TAutoDriver<_RIPEMD160>::Bind(pintf, true);
  }

  _RIPEMD160DispT& operator=(_RIPEMD160 *pintf)
  {
    TAutoDriver<_RIPEMD160>::Bind(pintf, false);
    return *this;
  }

  _RIPEMD160DispT& operator=(_RIPEMD160Ptr pintf)
  {
    TAutoDriver<_RIPEMD160>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RIPEMD160));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RIPEMD160);
  }


};
typedef _RIPEMD160DispT<_RIPEMD160> _RIPEMD160Disp;

// *********************************************************************//
// SmartIntf: TCOM_RIPEMD160Managed
// Interface: _RIPEMD160Managed
// *********************************************************************//
template <class T /* _RIPEMD160Managed */ >
class TCOM_RIPEMD160ManagedT : public TComInterface<_RIPEMD160Managed>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RIPEMD160ManagedT() {}
  TCOM_RIPEMD160ManagedT(_RIPEMD160Managed *intf, bool addRef = false) : TComInterface<_RIPEMD160Managed>(intf, addRef) {}
  TCOM_RIPEMD160ManagedT(const TCOM_RIPEMD160ManagedT& src) : TComInterface<_RIPEMD160Managed>(src) {}
  TCOM_RIPEMD160ManagedT& operator=(const TCOM_RIPEMD160ManagedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RIPEMD160ManagedT<_RIPEMD160Managed> TCOM_RIPEMD160Managed;

// *********************************************************************//
// DispIntf:  _RIPEMD160Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {814F9C35-B7F8-3CEB-8E43-E01F09157060}
// *********************************************************************//
template<class T>
class _RIPEMD160ManagedDispT : public TAutoDriver<_RIPEMD160Managed>
{
public:
  _RIPEMD160ManagedDispT(){}

  _RIPEMD160ManagedDispT(_RIPEMD160Managed *pintf)
  {
    TAutoDriver<_RIPEMD160Managed>::Bind(pintf, false);
  }

  _RIPEMD160ManagedDispT(_RIPEMD160ManagedPtr pintf)
  {
    TAutoDriver<_RIPEMD160Managed>::Bind(pintf, true);
  }

  _RIPEMD160ManagedDispT& operator=(_RIPEMD160Managed *pintf)
  {
    TAutoDriver<_RIPEMD160Managed>::Bind(pintf, false);
    return *this;
  }

  _RIPEMD160ManagedDispT& operator=(_RIPEMD160ManagedPtr pintf)
  {
    TAutoDriver<_RIPEMD160Managed>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RIPEMD160Managed));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RIPEMD160Managed);
  }


};
typedef _RIPEMD160ManagedDispT<_RIPEMD160Managed> _RIPEMD160ManagedDisp;

// *********************************************************************//
// SmartIntf: TCOM_RSA
// Interface: _RSA
// *********************************************************************//
template <class T /* _RSA */ >
class TCOM_RSAT : public TComInterface<_RSA>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSAT() {}
  TCOM_RSAT(_RSA *intf, bool addRef = false) : TComInterface<_RSA>(intf, addRef) {}
  TCOM_RSAT(const TCOM_RSAT& src) : TComInterface<_RSA>(src) {}
  TCOM_RSAT& operator=(const TCOM_RSAT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSAT<_RSA> TCOM_RSA;

// *********************************************************************//
// DispIntf:  _RSA
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0B3FB710-A25C-3310-8774-1CF117F95BD4}
// *********************************************************************//
template<class T>
class _RSADispT : public TAutoDriver<_RSA>
{
public:
  _RSADispT(){}

  _RSADispT(_RSA *pintf)
  {
    TAutoDriver<_RSA>::Bind(pintf, false);
  }

  _RSADispT(_RSAPtr pintf)
  {
    TAutoDriver<_RSA>::Bind(pintf, true);
  }

  _RSADispT& operator=(_RSA *pintf)
  {
    TAutoDriver<_RSA>::Bind(pintf, false);
    return *this;
  }

  _RSADispT& operator=(_RSAPtr pintf)
  {
    TAutoDriver<_RSA>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSA));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSA);
  }


};
typedef _RSADispT<_RSA> _RSADisp;

// *********************************************************************//
// SmartIntf: TCOM_RSACryptoServiceProvider
// Interface: _RSACryptoServiceProvider
// *********************************************************************//
template <class T /* _RSACryptoServiceProvider */ >
class TCOM_RSACryptoServiceProviderT : public TComInterface<_RSACryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSACryptoServiceProviderT() {}
  TCOM_RSACryptoServiceProviderT(_RSACryptoServiceProvider *intf, bool addRef = false) : TComInterface<_RSACryptoServiceProvider>(intf, addRef) {}
  TCOM_RSACryptoServiceProviderT(const TCOM_RSACryptoServiceProviderT& src) : TComInterface<_RSACryptoServiceProvider>(src) {}
  TCOM_RSACryptoServiceProviderT& operator=(const TCOM_RSACryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSACryptoServiceProviderT<_RSACryptoServiceProvider> TCOM_RSACryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _RSACryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BD9DF856-2300-3254-BCF0-679BA03C7A13}
// *********************************************************************//
template<class T>
class _RSACryptoServiceProviderDispT : public TAutoDriver<_RSACryptoServiceProvider>
{
public:
  _RSACryptoServiceProviderDispT(){}

  _RSACryptoServiceProviderDispT(_RSACryptoServiceProvider *pintf)
  {
    TAutoDriver<_RSACryptoServiceProvider>::Bind(pintf, false);
  }

  _RSACryptoServiceProviderDispT(_RSACryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_RSACryptoServiceProvider>::Bind(pintf, true);
  }

  _RSACryptoServiceProviderDispT& operator=(_RSACryptoServiceProvider *pintf)
  {
    TAutoDriver<_RSACryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _RSACryptoServiceProviderDispT& operator=(_RSACryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_RSACryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSACryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSACryptoServiceProvider);
  }


};
typedef _RSACryptoServiceProviderDispT<_RSACryptoServiceProvider> _RSACryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_RSAOAEPKeyExchangeDeformatter
// Interface: _RSAOAEPKeyExchangeDeformatter
// *********************************************************************//
template <class T /* _RSAOAEPKeyExchangeDeformatter */ >
class TCOM_RSAOAEPKeyExchangeDeformatterT : public TComInterface<_RSAOAEPKeyExchangeDeformatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSAOAEPKeyExchangeDeformatterT() {}
  TCOM_RSAOAEPKeyExchangeDeformatterT(_RSAOAEPKeyExchangeDeformatter *intf, bool addRef = false) : TComInterface<_RSAOAEPKeyExchangeDeformatter>(intf, addRef) {}
  TCOM_RSAOAEPKeyExchangeDeformatterT(const TCOM_RSAOAEPKeyExchangeDeformatterT& src) : TComInterface<_RSAOAEPKeyExchangeDeformatter>(src) {}
  TCOM_RSAOAEPKeyExchangeDeformatterT& operator=(const TCOM_RSAOAEPKeyExchangeDeformatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSAOAEPKeyExchangeDeformatterT<_RSAOAEPKeyExchangeDeformatter> TCOM_RSAOAEPKeyExchangeDeformatter;

// *********************************************************************//
// DispIntf:  _RSAOAEPKeyExchangeDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {37625095-7BAA-377D-A0DC-7F465C0167AA}
// *********************************************************************//
template<class T>
class _RSAOAEPKeyExchangeDeformatterDispT : public TAutoDriver<_RSAOAEPKeyExchangeDeformatter>
{
public:
  _RSAOAEPKeyExchangeDeformatterDispT(){}

  _RSAOAEPKeyExchangeDeformatterDispT(_RSAOAEPKeyExchangeDeformatter *pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeDeformatter>::Bind(pintf, false);
  }

  _RSAOAEPKeyExchangeDeformatterDispT(_RSAOAEPKeyExchangeDeformatterPtr pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeDeformatter>::Bind(pintf, true);
  }

  _RSAOAEPKeyExchangeDeformatterDispT& operator=(_RSAOAEPKeyExchangeDeformatter *pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeDeformatter>::Bind(pintf, false);
    return *this;
  }

  _RSAOAEPKeyExchangeDeformatterDispT& operator=(_RSAOAEPKeyExchangeDeformatterPtr pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeDeformatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSAOAEPKeyExchangeDeformatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSAOAEPKeyExchangeDeformatter);
  }


};
typedef _RSAOAEPKeyExchangeDeformatterDispT<_RSAOAEPKeyExchangeDeformatter> _RSAOAEPKeyExchangeDeformatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_RSAOAEPKeyExchangeFormatter
// Interface: _RSAOAEPKeyExchangeFormatter
// *********************************************************************//
template <class T /* _RSAOAEPKeyExchangeFormatter */ >
class TCOM_RSAOAEPKeyExchangeFormatterT : public TComInterface<_RSAOAEPKeyExchangeFormatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSAOAEPKeyExchangeFormatterT() {}
  TCOM_RSAOAEPKeyExchangeFormatterT(_RSAOAEPKeyExchangeFormatter *intf, bool addRef = false) : TComInterface<_RSAOAEPKeyExchangeFormatter>(intf, addRef) {}
  TCOM_RSAOAEPKeyExchangeFormatterT(const TCOM_RSAOAEPKeyExchangeFormatterT& src) : TComInterface<_RSAOAEPKeyExchangeFormatter>(src) {}
  TCOM_RSAOAEPKeyExchangeFormatterT& operator=(const TCOM_RSAOAEPKeyExchangeFormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSAOAEPKeyExchangeFormatterT<_RSAOAEPKeyExchangeFormatter> TCOM_RSAOAEPKeyExchangeFormatter;

// *********************************************************************//
// DispIntf:  _RSAOAEPKeyExchangeFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77A416E7-2AC6-3D0E-98FF-3BA0F586F56F}
// *********************************************************************//
template<class T>
class _RSAOAEPKeyExchangeFormatterDispT : public TAutoDriver<_RSAOAEPKeyExchangeFormatter>
{
public:
  _RSAOAEPKeyExchangeFormatterDispT(){}

  _RSAOAEPKeyExchangeFormatterDispT(_RSAOAEPKeyExchangeFormatter *pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeFormatter>::Bind(pintf, false);
  }

  _RSAOAEPKeyExchangeFormatterDispT(_RSAOAEPKeyExchangeFormatterPtr pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeFormatter>::Bind(pintf, true);
  }

  _RSAOAEPKeyExchangeFormatterDispT& operator=(_RSAOAEPKeyExchangeFormatter *pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeFormatter>::Bind(pintf, false);
    return *this;
  }

  _RSAOAEPKeyExchangeFormatterDispT& operator=(_RSAOAEPKeyExchangeFormatterPtr pintf)
  {
    TAutoDriver<_RSAOAEPKeyExchangeFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSAOAEPKeyExchangeFormatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSAOAEPKeyExchangeFormatter);
  }


};
typedef _RSAOAEPKeyExchangeFormatterDispT<_RSAOAEPKeyExchangeFormatter> _RSAOAEPKeyExchangeFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1KeyExchangeDeformatter
// Interface: _RSAPKCS1KeyExchangeDeformatter
// *********************************************************************//
template <class T /* _RSAPKCS1KeyExchangeDeformatter */ >
class TCOM_RSAPKCS1KeyExchangeDeformatterT : public TComInterface<_RSAPKCS1KeyExchangeDeformatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSAPKCS1KeyExchangeDeformatterT() {}
  TCOM_RSAPKCS1KeyExchangeDeformatterT(_RSAPKCS1KeyExchangeDeformatter *intf, bool addRef = false) : TComInterface<_RSAPKCS1KeyExchangeDeformatter>(intf, addRef) {}
  TCOM_RSAPKCS1KeyExchangeDeformatterT(const TCOM_RSAPKCS1KeyExchangeDeformatterT& src) : TComInterface<_RSAPKCS1KeyExchangeDeformatter>(src) {}
  TCOM_RSAPKCS1KeyExchangeDeformatterT& operator=(const TCOM_RSAPKCS1KeyExchangeDeformatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSAPKCS1KeyExchangeDeformatterT<_RSAPKCS1KeyExchangeDeformatter> TCOM_RSAPKCS1KeyExchangeDeformatter;

// *********************************************************************//
// DispIntf:  _RSAPKCS1KeyExchangeDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8034AAF4-3666-3B6F-85CF-463F9BFD31A9}
// *********************************************************************//
template<class T>
class _RSAPKCS1KeyExchangeDeformatterDispT : public TAutoDriver<_RSAPKCS1KeyExchangeDeformatter>
{
public:
  _RSAPKCS1KeyExchangeDeformatterDispT(){}

  _RSAPKCS1KeyExchangeDeformatterDispT(_RSAPKCS1KeyExchangeDeformatter *pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeDeformatter>::Bind(pintf, false);
  }

  _RSAPKCS1KeyExchangeDeformatterDispT(_RSAPKCS1KeyExchangeDeformatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeDeformatter>::Bind(pintf, true);
  }

  _RSAPKCS1KeyExchangeDeformatterDispT& operator=(_RSAPKCS1KeyExchangeDeformatter *pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeDeformatter>::Bind(pintf, false);
    return *this;
  }

  _RSAPKCS1KeyExchangeDeformatterDispT& operator=(_RSAPKCS1KeyExchangeDeformatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeDeformatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSAPKCS1KeyExchangeDeformatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSAPKCS1KeyExchangeDeformatter);
  }


};
typedef _RSAPKCS1KeyExchangeDeformatterDispT<_RSAPKCS1KeyExchangeDeformatter> _RSAPKCS1KeyExchangeDeformatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1KeyExchangeFormatter
// Interface: _RSAPKCS1KeyExchangeFormatter
// *********************************************************************//
template <class T /* _RSAPKCS1KeyExchangeFormatter */ >
class TCOM_RSAPKCS1KeyExchangeFormatterT : public TComInterface<_RSAPKCS1KeyExchangeFormatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSAPKCS1KeyExchangeFormatterT() {}
  TCOM_RSAPKCS1KeyExchangeFormatterT(_RSAPKCS1KeyExchangeFormatter *intf, bool addRef = false) : TComInterface<_RSAPKCS1KeyExchangeFormatter>(intf, addRef) {}
  TCOM_RSAPKCS1KeyExchangeFormatterT(const TCOM_RSAPKCS1KeyExchangeFormatterT& src) : TComInterface<_RSAPKCS1KeyExchangeFormatter>(src) {}
  TCOM_RSAPKCS1KeyExchangeFormatterT& operator=(const TCOM_RSAPKCS1KeyExchangeFormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSAPKCS1KeyExchangeFormatterT<_RSAPKCS1KeyExchangeFormatter> TCOM_RSAPKCS1KeyExchangeFormatter;

// *********************************************************************//
// DispIntf:  _RSAPKCS1KeyExchangeFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9FF67F8E-A7AA-3BA6-90EE-9D44AF6E2F8C}
// *********************************************************************//
template<class T>
class _RSAPKCS1KeyExchangeFormatterDispT : public TAutoDriver<_RSAPKCS1KeyExchangeFormatter>
{
public:
  _RSAPKCS1KeyExchangeFormatterDispT(){}

  _RSAPKCS1KeyExchangeFormatterDispT(_RSAPKCS1KeyExchangeFormatter *pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeFormatter>::Bind(pintf, false);
  }

  _RSAPKCS1KeyExchangeFormatterDispT(_RSAPKCS1KeyExchangeFormatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeFormatter>::Bind(pintf, true);
  }

  _RSAPKCS1KeyExchangeFormatterDispT& operator=(_RSAPKCS1KeyExchangeFormatter *pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeFormatter>::Bind(pintf, false);
    return *this;
  }

  _RSAPKCS1KeyExchangeFormatterDispT& operator=(_RSAPKCS1KeyExchangeFormatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1KeyExchangeFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSAPKCS1KeyExchangeFormatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSAPKCS1KeyExchangeFormatter);
  }


};
typedef _RSAPKCS1KeyExchangeFormatterDispT<_RSAPKCS1KeyExchangeFormatter> _RSAPKCS1KeyExchangeFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1SignatureDeformatter
// Interface: _RSAPKCS1SignatureDeformatter
// *********************************************************************//
template <class T /* _RSAPKCS1SignatureDeformatter */ >
class TCOM_RSAPKCS1SignatureDeformatterT : public TComInterface<_RSAPKCS1SignatureDeformatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSAPKCS1SignatureDeformatterT() {}
  TCOM_RSAPKCS1SignatureDeformatterT(_RSAPKCS1SignatureDeformatter *intf, bool addRef = false) : TComInterface<_RSAPKCS1SignatureDeformatter>(intf, addRef) {}
  TCOM_RSAPKCS1SignatureDeformatterT(const TCOM_RSAPKCS1SignatureDeformatterT& src) : TComInterface<_RSAPKCS1SignatureDeformatter>(src) {}
  TCOM_RSAPKCS1SignatureDeformatterT& operator=(const TCOM_RSAPKCS1SignatureDeformatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSAPKCS1SignatureDeformatterT<_RSAPKCS1SignatureDeformatter> TCOM_RSAPKCS1SignatureDeformatter;

// *********************************************************************//
// DispIntf:  _RSAPKCS1SignatureDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FC38507E-06A4-3300-8652-8D7B54341F65}
// *********************************************************************//
template<class T>
class _RSAPKCS1SignatureDeformatterDispT : public TAutoDriver<_RSAPKCS1SignatureDeformatter>
{
public:
  _RSAPKCS1SignatureDeformatterDispT(){}

  _RSAPKCS1SignatureDeformatterDispT(_RSAPKCS1SignatureDeformatter *pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureDeformatter>::Bind(pintf, false);
  }

  _RSAPKCS1SignatureDeformatterDispT(_RSAPKCS1SignatureDeformatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureDeformatter>::Bind(pintf, true);
  }

  _RSAPKCS1SignatureDeformatterDispT& operator=(_RSAPKCS1SignatureDeformatter *pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureDeformatter>::Bind(pintf, false);
    return *this;
  }

  _RSAPKCS1SignatureDeformatterDispT& operator=(_RSAPKCS1SignatureDeformatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureDeformatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSAPKCS1SignatureDeformatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSAPKCS1SignatureDeformatter);
  }


};
typedef _RSAPKCS1SignatureDeformatterDispT<_RSAPKCS1SignatureDeformatter> _RSAPKCS1SignatureDeformatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1SignatureFormatter
// Interface: _RSAPKCS1SignatureFormatter
// *********************************************************************//
template <class T /* _RSAPKCS1SignatureFormatter */ >
class TCOM_RSAPKCS1SignatureFormatterT : public TComInterface<_RSAPKCS1SignatureFormatter>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RSAPKCS1SignatureFormatterT() {}
  TCOM_RSAPKCS1SignatureFormatterT(_RSAPKCS1SignatureFormatter *intf, bool addRef = false) : TComInterface<_RSAPKCS1SignatureFormatter>(intf, addRef) {}
  TCOM_RSAPKCS1SignatureFormatterT(const TCOM_RSAPKCS1SignatureFormatterT& src) : TComInterface<_RSAPKCS1SignatureFormatter>(src) {}
  TCOM_RSAPKCS1SignatureFormatterT& operator=(const TCOM_RSAPKCS1SignatureFormatterT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RSAPKCS1SignatureFormatterT<_RSAPKCS1SignatureFormatter> TCOM_RSAPKCS1SignatureFormatter;

// *********************************************************************//
// DispIntf:  _RSAPKCS1SignatureFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FB7A5FF4-CFA8-3F24-AD5F-D5EB39359707}
// *********************************************************************//
template<class T>
class _RSAPKCS1SignatureFormatterDispT : public TAutoDriver<_RSAPKCS1SignatureFormatter>
{
public:
  _RSAPKCS1SignatureFormatterDispT(){}

  _RSAPKCS1SignatureFormatterDispT(_RSAPKCS1SignatureFormatter *pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureFormatter>::Bind(pintf, false);
  }

  _RSAPKCS1SignatureFormatterDispT(_RSAPKCS1SignatureFormatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureFormatter>::Bind(pintf, true);
  }

  _RSAPKCS1SignatureFormatterDispT& operator=(_RSAPKCS1SignatureFormatter *pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureFormatter>::Bind(pintf, false);
    return *this;
  }

  _RSAPKCS1SignatureFormatterDispT& operator=(_RSAPKCS1SignatureFormatterPtr pintf)
  {
    TAutoDriver<_RSAPKCS1SignatureFormatter>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RSAPKCS1SignatureFormatter));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RSAPKCS1SignatureFormatter);
  }


};
typedef _RSAPKCS1SignatureFormatterDispT<_RSAPKCS1SignatureFormatter> _RSAPKCS1SignatureFormatterDisp;

// *********************************************************************//
// SmartIntf: TCOM_Rijndael
// Interface: _Rijndael
// *********************************************************************//
template <class T /* _Rijndael */ >
class TCOM_RijndaelT : public TComInterface<_Rijndael>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RijndaelT() {}
  TCOM_RijndaelT(_Rijndael *intf, bool addRef = false) : TComInterface<_Rijndael>(intf, addRef) {}
  TCOM_RijndaelT(const TCOM_RijndaelT& src) : TComInterface<_Rijndael>(src) {}
  TCOM_RijndaelT& operator=(const TCOM_RijndaelT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RijndaelT<_Rijndael> TCOM_Rijndael;

// *********************************************************************//
// DispIntf:  _Rijndael
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {21B52A91-856F-373C-AD42-4CF3F1021F5A}
// *********************************************************************//
template<class T>
class _RijndaelDispT : public TAutoDriver<_Rijndael>
{
public:
  _RijndaelDispT(){}

  _RijndaelDispT(_Rijndael *pintf)
  {
    TAutoDriver<_Rijndael>::Bind(pintf, false);
  }

  _RijndaelDispT(_RijndaelPtr pintf)
  {
    TAutoDriver<_Rijndael>::Bind(pintf, true);
  }

  _RijndaelDispT& operator=(_Rijndael *pintf)
  {
    TAutoDriver<_Rijndael>::Bind(pintf, false);
    return *this;
  }

  _RijndaelDispT& operator=(_RijndaelPtr pintf)
  {
    TAutoDriver<_Rijndael>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_Rijndael));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_Rijndael);
  }


};
typedef _RijndaelDispT<_Rijndael> _RijndaelDisp;

// *********************************************************************//
// SmartIntf: TCOM_RijndaelManaged
// Interface: _RijndaelManaged
// *********************************************************************//
template <class T /* _RijndaelManaged */ >
class TCOM_RijndaelManagedT : public TComInterface<_RijndaelManaged>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RijndaelManagedT() {}
  TCOM_RijndaelManagedT(_RijndaelManaged *intf, bool addRef = false) : TComInterface<_RijndaelManaged>(intf, addRef) {}
  TCOM_RijndaelManagedT(const TCOM_RijndaelManagedT& src) : TComInterface<_RijndaelManaged>(src) {}
  TCOM_RijndaelManagedT& operator=(const TCOM_RijndaelManagedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RijndaelManagedT<_RijndaelManaged> TCOM_RijndaelManaged;

// *********************************************************************//
// DispIntf:  _RijndaelManaged
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {427EA9D3-11D8-3E38-9E05-A4F7FA684183}
// *********************************************************************//
template<class T>
class _RijndaelManagedDispT : public TAutoDriver<_RijndaelManaged>
{
public:
  _RijndaelManagedDispT(){}

  _RijndaelManagedDispT(_RijndaelManaged *pintf)
  {
    TAutoDriver<_RijndaelManaged>::Bind(pintf, false);
  }

  _RijndaelManagedDispT(_RijndaelManagedPtr pintf)
  {
    TAutoDriver<_RijndaelManaged>::Bind(pintf, true);
  }

  _RijndaelManagedDispT& operator=(_RijndaelManaged *pintf)
  {
    TAutoDriver<_RijndaelManaged>::Bind(pintf, false);
    return *this;
  }

  _RijndaelManagedDispT& operator=(_RijndaelManagedPtr pintf)
  {
    TAutoDriver<_RijndaelManaged>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RijndaelManaged));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RijndaelManaged);
  }


};
typedef _RijndaelManagedDispT<_RijndaelManaged> _RijndaelManagedDisp;

// *********************************************************************//
// SmartIntf: TCOM_RijndaelManagedTransform
// Interface: _RijndaelManagedTransform
// *********************************************************************//
template <class T /* _RijndaelManagedTransform */ >
class TCOM_RijndaelManagedTransformT : public TComInterface<_RijndaelManagedTransform>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_RijndaelManagedTransformT() {}
  TCOM_RijndaelManagedTransformT(_RijndaelManagedTransform *intf, bool addRef = false) : TComInterface<_RijndaelManagedTransform>(intf, addRef) {}
  TCOM_RijndaelManagedTransformT(const TCOM_RijndaelManagedTransformT& src) : TComInterface<_RijndaelManagedTransform>(src) {}
  TCOM_RijndaelManagedTransformT& operator=(const TCOM_RijndaelManagedTransformT& src) { Bind(src, true); return *this;}


};
typedef TCOM_RijndaelManagedTransformT<_RijndaelManagedTransform> TCOM_RijndaelManagedTransform;

// *********************************************************************//
// DispIntf:  _RijndaelManagedTransform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5767C78F-F344-35A5-84BC-53B9EAEB68CB}
// *********************************************************************//
template<class T>
class _RijndaelManagedTransformDispT : public TAutoDriver<_RijndaelManagedTransform>
{
public:
  _RijndaelManagedTransformDispT(){}

  _RijndaelManagedTransformDispT(_RijndaelManagedTransform *pintf)
  {
    TAutoDriver<_RijndaelManagedTransform>::Bind(pintf, false);
  }

  _RijndaelManagedTransformDispT(_RijndaelManagedTransformPtr pintf)
  {
    TAutoDriver<_RijndaelManagedTransform>::Bind(pintf, true);
  }

  _RijndaelManagedTransformDispT& operator=(_RijndaelManagedTransform *pintf)
  {
    TAutoDriver<_RijndaelManagedTransform>::Bind(pintf, false);
    return *this;
  }

  _RijndaelManagedTransformDispT& operator=(_RijndaelManagedTransformPtr pintf)
  {
    TAutoDriver<_RijndaelManagedTransform>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_RijndaelManagedTransform));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_RijndaelManagedTransform);
  }


};
typedef _RijndaelManagedTransformDispT<_RijndaelManagedTransform> _RijndaelManagedTransformDisp;

// *********************************************************************//
// SmartIntf: TCOM_SHA1
// Interface: _SHA1
// *********************************************************************//
template <class T /* _SHA1 */ >
class TCOM_SHA1T : public TComInterface<_SHA1>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA1T() {}
  TCOM_SHA1T(_SHA1 *intf, bool addRef = false) : TComInterface<_SHA1>(intf, addRef) {}
  TCOM_SHA1T(const TCOM_SHA1T& src) : TComInterface<_SHA1>(src) {}
  TCOM_SHA1T& operator=(const TCOM_SHA1T& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA1T<_SHA1> TCOM_SHA1;

// *********************************************************************//
// DispIntf:  _SHA1
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {48600DD2-0099-337F-92D6-961D1E5010D4}
// *********************************************************************//
template<class T>
class _SHA1DispT : public TAutoDriver<_SHA1>
{
public:
  _SHA1DispT(){}

  _SHA1DispT(_SHA1 *pintf)
  {
    TAutoDriver<_SHA1>::Bind(pintf, false);
  }

  _SHA1DispT(_SHA1Ptr pintf)
  {
    TAutoDriver<_SHA1>::Bind(pintf, true);
  }

  _SHA1DispT& operator=(_SHA1 *pintf)
  {
    TAutoDriver<_SHA1>::Bind(pintf, false);
    return *this;
  }

  _SHA1DispT& operator=(_SHA1Ptr pintf)
  {
    TAutoDriver<_SHA1>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA1));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA1);
  }


};
typedef _SHA1DispT<_SHA1> _SHA1Disp;

// *********************************************************************//
// SmartIntf: TCOM_SHA1CryptoServiceProvider
// Interface: _SHA1CryptoServiceProvider
// *********************************************************************//
template <class T /* _SHA1CryptoServiceProvider */ >
class TCOM_SHA1CryptoServiceProviderT : public TComInterface<_SHA1CryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA1CryptoServiceProviderT() {}
  TCOM_SHA1CryptoServiceProviderT(_SHA1CryptoServiceProvider *intf, bool addRef = false) : TComInterface<_SHA1CryptoServiceProvider>(intf, addRef) {}
  TCOM_SHA1CryptoServiceProviderT(const TCOM_SHA1CryptoServiceProviderT& src) : TComInterface<_SHA1CryptoServiceProvider>(src) {}
  TCOM_SHA1CryptoServiceProviderT& operator=(const TCOM_SHA1CryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA1CryptoServiceProviderT<_SHA1CryptoServiceProvider> TCOM_SHA1CryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _SHA1CryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A16537BC-1EDF-3516-B75E-CC65CAF873AB}
// *********************************************************************//
template<class T>
class _SHA1CryptoServiceProviderDispT : public TAutoDriver<_SHA1CryptoServiceProvider>
{
public:
  _SHA1CryptoServiceProviderDispT(){}

  _SHA1CryptoServiceProviderDispT(_SHA1CryptoServiceProvider *pintf)
  {
    TAutoDriver<_SHA1CryptoServiceProvider>::Bind(pintf, false);
  }

  _SHA1CryptoServiceProviderDispT(_SHA1CryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_SHA1CryptoServiceProvider>::Bind(pintf, true);
  }

  _SHA1CryptoServiceProviderDispT& operator=(_SHA1CryptoServiceProvider *pintf)
  {
    TAutoDriver<_SHA1CryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _SHA1CryptoServiceProviderDispT& operator=(_SHA1CryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_SHA1CryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA1CryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA1CryptoServiceProvider);
  }


};
typedef _SHA1CryptoServiceProviderDispT<_SHA1CryptoServiceProvider> _SHA1CryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_SHA1Managed
// Interface: _SHA1Managed
// *********************************************************************//
template <class T /* _SHA1Managed */ >
class TCOM_SHA1ManagedT : public TComInterface<_SHA1Managed>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA1ManagedT() {}
  TCOM_SHA1ManagedT(_SHA1Managed *intf, bool addRef = false) : TComInterface<_SHA1Managed>(intf, addRef) {}
  TCOM_SHA1ManagedT(const TCOM_SHA1ManagedT& src) : TComInterface<_SHA1Managed>(src) {}
  TCOM_SHA1ManagedT& operator=(const TCOM_SHA1ManagedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA1ManagedT<_SHA1Managed> TCOM_SHA1Managed;

// *********************************************************************//
// DispIntf:  _SHA1Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C27990BB-3CFD-3D29-8DC0-BBE5FBADEAFD}
// *********************************************************************//
template<class T>
class _SHA1ManagedDispT : public TAutoDriver<_SHA1Managed>
{
public:
  _SHA1ManagedDispT(){}

  _SHA1ManagedDispT(_SHA1Managed *pintf)
  {
    TAutoDriver<_SHA1Managed>::Bind(pintf, false);
  }

  _SHA1ManagedDispT(_SHA1ManagedPtr pintf)
  {
    TAutoDriver<_SHA1Managed>::Bind(pintf, true);
  }

  _SHA1ManagedDispT& operator=(_SHA1Managed *pintf)
  {
    TAutoDriver<_SHA1Managed>::Bind(pintf, false);
    return *this;
  }

  _SHA1ManagedDispT& operator=(_SHA1ManagedPtr pintf)
  {
    TAutoDriver<_SHA1Managed>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA1Managed));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA1Managed);
  }


};
typedef _SHA1ManagedDispT<_SHA1Managed> _SHA1ManagedDisp;

// *********************************************************************//
// SmartIntf: TCOM_SHA256
// Interface: _SHA256
// *********************************************************************//
template <class T /* _SHA256 */ >
class TCOM_SHA256T : public TComInterface<_SHA256>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA256T() {}
  TCOM_SHA256T(_SHA256 *intf, bool addRef = false) : TComInterface<_SHA256>(intf, addRef) {}
  TCOM_SHA256T(const TCOM_SHA256T& src) : TComInterface<_SHA256>(src) {}
  TCOM_SHA256T& operator=(const TCOM_SHA256T& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA256T<_SHA256> TCOM_SHA256;

// *********************************************************************//
// DispIntf:  _SHA256
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3B274703-DFAE-3F9C-A1B5-9990DF9D7FA3}
// *********************************************************************//
template<class T>
class _SHA256DispT : public TAutoDriver<_SHA256>
{
public:
  _SHA256DispT(){}

  _SHA256DispT(_SHA256 *pintf)
  {
    TAutoDriver<_SHA256>::Bind(pintf, false);
  }

  _SHA256DispT(_SHA256Ptr pintf)
  {
    TAutoDriver<_SHA256>::Bind(pintf, true);
  }

  _SHA256DispT& operator=(_SHA256 *pintf)
  {
    TAutoDriver<_SHA256>::Bind(pintf, false);
    return *this;
  }

  _SHA256DispT& operator=(_SHA256Ptr pintf)
  {
    TAutoDriver<_SHA256>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA256));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA256);
  }


};
typedef _SHA256DispT<_SHA256> _SHA256Disp;

// *********************************************************************//
// SmartIntf: TCOM_SHA256Managed
// Interface: _SHA256Managed
// *********************************************************************//
template <class T /* _SHA256Managed */ >
class TCOM_SHA256ManagedT : public TComInterface<_SHA256Managed>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA256ManagedT() {}
  TCOM_SHA256ManagedT(_SHA256Managed *intf, bool addRef = false) : TComInterface<_SHA256Managed>(intf, addRef) {}
  TCOM_SHA256ManagedT(const TCOM_SHA256ManagedT& src) : TComInterface<_SHA256Managed>(src) {}
  TCOM_SHA256ManagedT& operator=(const TCOM_SHA256ManagedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA256ManagedT<_SHA256Managed> TCOM_SHA256Managed;

// *********************************************************************//
// DispIntf:  _SHA256Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3D077954-7BCC-325B-9DDA-3B17A03378E0}
// *********************************************************************//
template<class T>
class _SHA256ManagedDispT : public TAutoDriver<_SHA256Managed>
{
public:
  _SHA256ManagedDispT(){}

  _SHA256ManagedDispT(_SHA256Managed *pintf)
  {
    TAutoDriver<_SHA256Managed>::Bind(pintf, false);
  }

  _SHA256ManagedDispT(_SHA256ManagedPtr pintf)
  {
    TAutoDriver<_SHA256Managed>::Bind(pintf, true);
  }

  _SHA256ManagedDispT& operator=(_SHA256Managed *pintf)
  {
    TAutoDriver<_SHA256Managed>::Bind(pintf, false);
    return *this;
  }

  _SHA256ManagedDispT& operator=(_SHA256ManagedPtr pintf)
  {
    TAutoDriver<_SHA256Managed>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA256Managed));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA256Managed);
  }


};
typedef _SHA256ManagedDispT<_SHA256Managed> _SHA256ManagedDisp;

// *********************************************************************//
// SmartIntf: TCOM_SHA384
// Interface: _SHA384
// *********************************************************************//
template <class T /* _SHA384 */ >
class TCOM_SHA384T : public TComInterface<_SHA384>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA384T() {}
  TCOM_SHA384T(_SHA384 *intf, bool addRef = false) : TComInterface<_SHA384>(intf, addRef) {}
  TCOM_SHA384T(const TCOM_SHA384T& src) : TComInterface<_SHA384>(src) {}
  TCOM_SHA384T& operator=(const TCOM_SHA384T& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA384T<_SHA384> TCOM_SHA384;

// *********************************************************************//
// DispIntf:  _SHA384
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B60AD5D7-2C2E-35B7-8D77-7946156CFE8E}
// *********************************************************************//
template<class T>
class _SHA384DispT : public TAutoDriver<_SHA384>
{
public:
  _SHA384DispT(){}

  _SHA384DispT(_SHA384 *pintf)
  {
    TAutoDriver<_SHA384>::Bind(pintf, false);
  }

  _SHA384DispT(_SHA384Ptr pintf)
  {
    TAutoDriver<_SHA384>::Bind(pintf, true);
  }

  _SHA384DispT& operator=(_SHA384 *pintf)
  {
    TAutoDriver<_SHA384>::Bind(pintf, false);
    return *this;
  }

  _SHA384DispT& operator=(_SHA384Ptr pintf)
  {
    TAutoDriver<_SHA384>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA384));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA384);
  }


};
typedef _SHA384DispT<_SHA384> _SHA384Disp;

// *********************************************************************//
// SmartIntf: TCOM_SHA384Managed
// Interface: _SHA384Managed
// *********************************************************************//
template <class T /* _SHA384Managed */ >
class TCOM_SHA384ManagedT : public TComInterface<_SHA384Managed>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA384ManagedT() {}
  TCOM_SHA384ManagedT(_SHA384Managed *intf, bool addRef = false) : TComInterface<_SHA384Managed>(intf, addRef) {}
  TCOM_SHA384ManagedT(const TCOM_SHA384ManagedT& src) : TComInterface<_SHA384Managed>(src) {}
  TCOM_SHA384ManagedT& operator=(const TCOM_SHA384ManagedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA384ManagedT<_SHA384Managed> TCOM_SHA384Managed;

// *********************************************************************//
// DispIntf:  _SHA384Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DE541460-F838-3698-B2DA-510B09070118}
// *********************************************************************//
template<class T>
class _SHA384ManagedDispT : public TAutoDriver<_SHA384Managed>
{
public:
  _SHA384ManagedDispT(){}

  _SHA384ManagedDispT(_SHA384Managed *pintf)
  {
    TAutoDriver<_SHA384Managed>::Bind(pintf, false);
  }

  _SHA384ManagedDispT(_SHA384ManagedPtr pintf)
  {
    TAutoDriver<_SHA384Managed>::Bind(pintf, true);
  }

  _SHA384ManagedDispT& operator=(_SHA384Managed *pintf)
  {
    TAutoDriver<_SHA384Managed>::Bind(pintf, false);
    return *this;
  }

  _SHA384ManagedDispT& operator=(_SHA384ManagedPtr pintf)
  {
    TAutoDriver<_SHA384Managed>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA384Managed));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA384Managed);
  }


};
typedef _SHA384ManagedDispT<_SHA384Managed> _SHA384ManagedDisp;

// *********************************************************************//
// SmartIntf: TCOM_SHA512
// Interface: _SHA512
// *********************************************************************//
template <class T /* _SHA512 */ >
class TCOM_SHA512T : public TComInterface<_SHA512>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA512T() {}
  TCOM_SHA512T(_SHA512 *intf, bool addRef = false) : TComInterface<_SHA512>(intf, addRef) {}
  TCOM_SHA512T(const TCOM_SHA512T& src) : TComInterface<_SHA512>(src) {}
  TCOM_SHA512T& operator=(const TCOM_SHA512T& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA512T<_SHA512> TCOM_SHA512;

// *********************************************************************//
// DispIntf:  _SHA512
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {49DD9E4B-84F3-3D6D-91FB-3FEDCEF634C7}
// *********************************************************************//
template<class T>
class _SHA512DispT : public TAutoDriver<_SHA512>
{
public:
  _SHA512DispT(){}

  _SHA512DispT(_SHA512 *pintf)
  {
    TAutoDriver<_SHA512>::Bind(pintf, false);
  }

  _SHA512DispT(_SHA512Ptr pintf)
  {
    TAutoDriver<_SHA512>::Bind(pintf, true);
  }

  _SHA512DispT& operator=(_SHA512 *pintf)
  {
    TAutoDriver<_SHA512>::Bind(pintf, false);
    return *this;
  }

  _SHA512DispT& operator=(_SHA512Ptr pintf)
  {
    TAutoDriver<_SHA512>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA512));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA512);
  }


};
typedef _SHA512DispT<_SHA512> _SHA512Disp;

// *********************************************************************//
// SmartIntf: TCOM_SHA512Managed
// Interface: _SHA512Managed
// *********************************************************************//
template <class T /* _SHA512Managed */ >
class TCOM_SHA512ManagedT : public TComInterface<_SHA512Managed>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SHA512ManagedT() {}
  TCOM_SHA512ManagedT(_SHA512Managed *intf, bool addRef = false) : TComInterface<_SHA512Managed>(intf, addRef) {}
  TCOM_SHA512ManagedT(const TCOM_SHA512ManagedT& src) : TComInterface<_SHA512Managed>(src) {}
  TCOM_SHA512ManagedT& operator=(const TCOM_SHA512ManagedT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SHA512ManagedT<_SHA512Managed> TCOM_SHA512Managed;

// *********************************************************************//
// DispIntf:  _SHA512Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DC8CE439-7954-36ED-803C-674F72F27249}
// *********************************************************************//
template<class T>
class _SHA512ManagedDispT : public TAutoDriver<_SHA512Managed>
{
public:
  _SHA512ManagedDispT(){}

  _SHA512ManagedDispT(_SHA512Managed *pintf)
  {
    TAutoDriver<_SHA512Managed>::Bind(pintf, false);
  }

  _SHA512ManagedDispT(_SHA512ManagedPtr pintf)
  {
    TAutoDriver<_SHA512Managed>::Bind(pintf, true);
  }

  _SHA512ManagedDispT& operator=(_SHA512Managed *pintf)
  {
    TAutoDriver<_SHA512Managed>::Bind(pintf, false);
    return *this;
  }

  _SHA512ManagedDispT& operator=(_SHA512ManagedPtr pintf)
  {
    TAutoDriver<_SHA512Managed>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SHA512Managed));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SHA512Managed);
  }


};
typedef _SHA512ManagedDispT<_SHA512Managed> _SHA512ManagedDisp;

// *********************************************************************//
// SmartIntf: TCOM_SignatureDescription
// Interface: _SignatureDescription
// *********************************************************************//
template <class T /* _SignatureDescription */ >
class TCOM_SignatureDescriptionT : public TComInterface<_SignatureDescription>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_SignatureDescriptionT() {}
  TCOM_SignatureDescriptionT(_SignatureDescription *intf, bool addRef = false) : TComInterface<_SignatureDescription>(intf, addRef) {}
  TCOM_SignatureDescriptionT(const TCOM_SignatureDescriptionT& src) : TComInterface<_SignatureDescription>(src) {}
  TCOM_SignatureDescriptionT& operator=(const TCOM_SignatureDescriptionT& src) { Bind(src, true); return *this;}


};
typedef TCOM_SignatureDescriptionT<_SignatureDescription> TCOM_SignatureDescription;

// *********************************************************************//
// DispIntf:  _SignatureDescription
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8017B414-4886-33DA-80A3-7865C1350D43}
// *********************************************************************//
template<class T>
class _SignatureDescriptionDispT : public TAutoDriver<_SignatureDescription>
{
public:
  _SignatureDescriptionDispT(){}

  _SignatureDescriptionDispT(_SignatureDescription *pintf)
  {
    TAutoDriver<_SignatureDescription>::Bind(pintf, false);
  }

  _SignatureDescriptionDispT(_SignatureDescriptionPtr pintf)
  {
    TAutoDriver<_SignatureDescription>::Bind(pintf, true);
  }

  _SignatureDescriptionDispT& operator=(_SignatureDescription *pintf)
  {
    TAutoDriver<_SignatureDescription>::Bind(pintf, false);
    return *this;
  }

  _SignatureDescriptionDispT& operator=(_SignatureDescriptionPtr pintf)
  {
    TAutoDriver<_SignatureDescription>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_SignatureDescription));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_SignatureDescription);
  }


};
typedef _SignatureDescriptionDispT<_SignatureDescription> _SignatureDescriptionDisp;

// *********************************************************************//
// SmartIntf: TCOM_TripleDES
// Interface: _TripleDES
// *********************************************************************//
template <class T /* _TripleDES */ >
class TCOM_TripleDEST : public TComInterface<_TripleDES>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TripleDEST() {}
  TCOM_TripleDEST(_TripleDES *intf, bool addRef = false) : TComInterface<_TripleDES>(intf, addRef) {}
  TCOM_TripleDEST(const TCOM_TripleDEST& src) : TComInterface<_TripleDES>(src) {}
  TCOM_TripleDEST& operator=(const TCOM_TripleDEST& src) { Bind(src, true); return *this;}


};
typedef TCOM_TripleDEST<_TripleDES> TCOM_TripleDES;

// *********************************************************************//
// DispIntf:  _TripleDES
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C040B889-5278-3132-AFF9-AFA61707A81D}
// *********************************************************************//
template<class T>
class _TripleDESDispT : public TAutoDriver<_TripleDES>
{
public:
  _TripleDESDispT(){}

  _TripleDESDispT(_TripleDES *pintf)
  {
    TAutoDriver<_TripleDES>::Bind(pintf, false);
  }

  _TripleDESDispT(_TripleDESPtr pintf)
  {
    TAutoDriver<_TripleDES>::Bind(pintf, true);
  }

  _TripleDESDispT& operator=(_TripleDES *pintf)
  {
    TAutoDriver<_TripleDES>::Bind(pintf, false);
    return *this;
  }

  _TripleDESDispT& operator=(_TripleDESPtr pintf)
  {
    TAutoDriver<_TripleDES>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TripleDES));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TripleDES);
  }


};
typedef _TripleDESDispT<_TripleDES> _TripleDESDisp;

// *********************************************************************//
// SmartIntf: TCOM_TripleDESCryptoServiceProvider
// Interface: _TripleDESCryptoServiceProvider
// *********************************************************************//
template <class T /* _TripleDESCryptoServiceProvider */ >
class TCOM_TripleDESCryptoServiceProviderT : public TComInterface<_TripleDESCryptoServiceProvider>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_TripleDESCryptoServiceProviderT() {}
  TCOM_TripleDESCryptoServiceProviderT(_TripleDESCryptoServiceProvider *intf, bool addRef = false) : TComInterface<_TripleDESCryptoServiceProvider>(intf, addRef) {}
  TCOM_TripleDESCryptoServiceProviderT(const TCOM_TripleDESCryptoServiceProviderT& src) : TComInterface<_TripleDESCryptoServiceProvider>(src) {}
  TCOM_TripleDESCryptoServiceProviderT& operator=(const TCOM_TripleDESCryptoServiceProviderT& src) { Bind(src, true); return *this;}


};
typedef TCOM_TripleDESCryptoServiceProviderT<_TripleDESCryptoServiceProvider> TCOM_TripleDESCryptoServiceProvider;

// *********************************************************************//
// DispIntf:  _TripleDESCryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EC69D083-3CD0-3C0C-998C-3B738DB535D5}
// *********************************************************************//
template<class T>
class _TripleDESCryptoServiceProviderDispT : public TAutoDriver<_TripleDESCryptoServiceProvider>
{
public:
  _TripleDESCryptoServiceProviderDispT(){}

  _TripleDESCryptoServiceProviderDispT(_TripleDESCryptoServiceProvider *pintf)
  {
    TAutoDriver<_TripleDESCryptoServiceProvider>::Bind(pintf, false);
  }

  _TripleDESCryptoServiceProviderDispT(_TripleDESCryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_TripleDESCryptoServiceProvider>::Bind(pintf, true);
  }

  _TripleDESCryptoServiceProviderDispT& operator=(_TripleDESCryptoServiceProvider *pintf)
  {
    TAutoDriver<_TripleDESCryptoServiceProvider>::Bind(pintf, false);
    return *this;
  }

  _TripleDESCryptoServiceProviderDispT& operator=(_TripleDESCryptoServiceProviderPtr pintf)
  {
    TAutoDriver<_TripleDESCryptoServiceProvider>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_TripleDESCryptoServiceProvider));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_TripleDESCryptoServiceProvider);
  }


};
typedef _TripleDESCryptoServiceProviderDispT<_TripleDESCryptoServiceProvider> _TripleDESCryptoServiceProviderDisp;

// *********************************************************************//
// SmartIntf: TCOM_X509Certificate
// Interface: _X509Certificate
// *********************************************************************//
template <class T /* _X509Certificate */ >
class TCOM_X509CertificateT : public TComInterface<_X509Certificate>, public TComInterfaceBase<IUnknown>
{
public:
  TCOM_X509CertificateT() {}
  TCOM_X509CertificateT(_X509Certificate *intf, bool addRef = false) : TComInterface<_X509Certificate>(intf, addRef) {}
  TCOM_X509CertificateT(const TCOM_X509CertificateT& src) : TComInterface<_X509Certificate>(src) {}
  TCOM_X509CertificateT& operator=(const TCOM_X509CertificateT& src) { Bind(src, true); return *this;}


};
typedef TCOM_X509CertificateT<_X509Certificate> TCOM_X509Certificate;

// *********************************************************************//
// DispIntf:  _X509Certificate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {68FD6F14-A7B2-36C8-A724-D01F90D73477}
// *********************************************************************//
template<class T>
class _X509CertificateDispT : public TAutoDriver<_X509Certificate>
{
public:
  _X509CertificateDispT(){}

  _X509CertificateDispT(_X509Certificate *pintf)
  {
    TAutoDriver<_X509Certificate>::Bind(pintf, false);
  }

  _X509CertificateDispT(_X509CertificatePtr pintf)
  {
    TAutoDriver<_X509Certificate>::Bind(pintf, true);
  }

  _X509CertificateDispT& operator=(_X509Certificate *pintf)
  {
    TAutoDriver<_X509Certificate>::Bind(pintf, false);
    return *this;
  }

  _X509CertificateDispT& operator=(_X509CertificatePtr pintf)
  {
    TAutoDriver<_X509Certificate>::Bind(pintf, true);
    return *this;
  }

  HRESULT BindDefault()
  {
    return OLECHECK(Bind(CLSID_X509Certificate));
  }

  HRESULT BindRunning()
  {
    return BindToActive(CLSID_X509Certificate);
  }


};
typedef _X509CertificateDispT<_X509Certificate> _X509CertificateDisp;

// *********************************************************************//
// SmartIntf: TCOM_Object
// Interface: _Object
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ObjectT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ObjectT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(obj, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ObjectT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_ObjectT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_ObjectT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  _Object
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {65074F7F-63C0-304E-AF0A-D51741CB4A8D}
// *********************************************************************//
template <class T> HRESULT __fastcall
_ObjectDispT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ObjectDispT<T>::get_ToString(void)
{
  BSTR pRetVal;
  this->get_ToString((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectDispT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_ObjectDispT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(obj, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectDispT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_ObjectDispT<T>::GetHashCode(void)
{
  long pRetVal;
  this->GetHashCode((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectDispT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_ObjectDispT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ICloneable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0CB251A7-3AB3-3B5C-A0B8-9DDF88824B85}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICloneableDispT<T>::Clone(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Clone"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
ICloneableDispT<T>::Clone(void)
{
  TVariant pRetVal;
  this->Clone((TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IEnumerable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {496B0ABE-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
template <class T> HRESULT __fastcall
IEnumerableDispT<T>::GetEnumerator(IEnumVARIANTPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetEnumerator"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(IEnumVARIANT**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> IEnumVARIANTPtr __fastcall
IEnumerableDispT<T>::GetEnumerator(void)
{
  IEnumVARIANTPtr pRetVal;
  this->GetEnumerator((IEnumVARIANTPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ICollection
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {DE8DB6F8-D101-3A92-8D1C-E72E5F10E992}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICollectionDispT<T>::CopyTo(Mscorlib_tlb::_ArrayPtr Array/*[in]*/, long index/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CopyTo"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Array*)Array /*[VT_USERDEFINED:1]*/;
  _args[2] = index /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ICollectionDispT<T>::get_Count(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Count"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ICollectionDispT<T>::get_Count(void)
{
  long pRetVal;
  this->get_Count((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICollectionDispT<T>::get_SyncRoot(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SyncRoot"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
ICollectionDispT<T>::get_SyncRoot(void)
{
  TVariant pRetVal;
  this->get_SyncRoot((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICollectionDispT<T>::get_IsSynchronized(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsSynchronized"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
ICollectionDispT<T>::get_IsSynchronized(void)
{
  TOLEBOOL pRetVal;
  this->get_IsSynchronized((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IList
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7BCFA00F-F764-3113-9140-3BBD127A96BB}
// *********************************************************************//
template <class T> HRESULT __fastcall
IListDispT<T>::get_Item(long index/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IListDispT<T>::get_Item(long index/*[in]*/)
{
  TVariant pRetVal;
  this->get_Item(index, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IListDispT<T>::_set_Item(long index/*[in]*/, TVariantInParam pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<2> _args;
  _args[1] = index /*[VT_I4:0]*/;
  _args[2] = pRetVal /*[VT_VARIANT:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IListDispT<T>::Add(TVariantInParam value/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IListDispT<T>::Add(TVariantInParam value/*[in]*/)
{
  long pRetVal;
  this->Add(value, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IListDispT<T>::Contains(TVariantInParam value/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Contains"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IListDispT<T>::Contains(TVariantInParam value/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Contains(value, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IListDispT<T>::Clear()
{
  _TDispID _dispid(*this, OLETEXT("Clear"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IListDispT<T>::get_IsReadOnly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsReadOnly"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IListDispT<T>::get_IsReadOnly(void)
{
  TOLEBOOL pRetVal;
  this->get_IsReadOnly((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IListDispT<T>::get_IsFixedSize(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsFixedSize"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IListDispT<T>::get_IsFixedSize(void)
{
  TOLEBOOL pRetVal;
  this->get_IsFixedSize((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IListDispT<T>::IndexOf(TVariantInParam value/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IndexOf"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IListDispT<T>::IndexOf(TVariantInParam value/*[in]*/)
{
  long pRetVal;
  this->IndexOf(value, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IListDispT<T>::Insert(long index/*[in]*/, TVariantInParam value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Insert"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<2> _args;
  _args[1] = index /*[VT_I4:0]*/;
  _args[2] = value /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IListDispT<T>::Remove(TVariantInParam value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Remove"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IListDispT<T>::RemoveAt(long index/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RemoveAt"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<1> _args;
  _args[1] = index /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_Array
// Interface: _Array
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Array
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2B67CECE-71C3-36A9-A136-925CCC1935A8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ValueType
// Interface: _ValueType
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ValueType
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {139E041D-0E41-39F5-A302-C4387E9D0A6C}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IEnumerator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {496B0ABF-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
template <class T> HRESULT __fastcall
IEnumeratorDispT<T>::MoveNext(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MoveNext"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IEnumeratorDispT<T>::MoveNext(void)
{
  TOLEBOOL pRetVal;
  this->MoveNext((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IEnumeratorDispT<T>::get_Current(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Current"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IEnumeratorDispT<T>::get_Current(void)
{
  TVariant pRetVal;
  this->get_Current((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IEnumeratorDispT<T>::Reset()
{
  _TDispID _dispid(*this, OLETEXT("Reset"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  IDisposable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {805D7A98-D4AF-3F0F-967F-E5CF45312D2C}
// *********************************************************************//
template <class T> HRESULT __fastcall
IDisposableDispT<T>::Dispose()
{
  _TDispID _dispid(*this, OLETEXT("Dispose"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  IComparable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {DEB0E770-91FD-3CF6-9A6C-E6A3656F3965}
// *********************************************************************//
template <class T> HRESULT __fastcall
IComparableDispT<T>::CompareTo(TVariantInParam obj/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CompareTo"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IComparableDispT<T>::CompareTo(TVariantInParam obj/*[in]*/)
{
  long pRetVal;
  this->CompareTo(obj, (long*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IFormattable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {9A604EE7-E630-3DED-9444-BAAE247075AB}
// *********************************************************************//
template <class T> HRESULT __fastcall
IFormattableDispT<T>::get_ToString(BSTR format/*[in]*/, 
                                   Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/, 
                                   BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = format /*[VT_BSTR:0]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)formatProvider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IFormattableDispT<T>::get_ToString(BSTR format/*[in]*/, 
                                   Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/)
{
  BSTR pRetVal;
  this->get_ToString(format, formatProvider, (BSTR*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IConvertible
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {805E3B62-B5E9-393D-8941-377D8BF4556B}
// *********************************************************************//
template <class T> HRESULT __fastcall
IConvertibleDispT<T>::GetTypeCode(Mscorlib_tlb::TypeCode* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetTypeCode"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)pRetVal /*[VT_USERDEFINED:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::TypeCode __fastcall
IConvertibleDispT<T>::GetTypeCode(void)
{
  Mscorlib_tlb::TypeCode pRetVal;
  this->GetTypeCode((Mscorlib_tlb::TypeCode*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToBoolean(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToBoolean"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IConvertibleDispT<T>::ToBoolean(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->ToBoolean(provider, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToChar(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                             unsigned_short* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToChar"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI2:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_short __fastcall
IConvertibleDispT<T>::ToChar(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  unsigned_short pRetVal;
  this->ToChar(provider, (unsigned_short*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToSByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                              signed_char* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToSByte"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I1:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> signed_char __fastcall
IConvertibleDispT<T>::ToSByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  signed_char pRetVal;
  this->ToSByte(provider, (signed_char*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                             unsigned_char* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToByte"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI1:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_char __fastcall
IConvertibleDispT<T>::ToByte(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  unsigned_char pRetVal;
  this->ToByte(provider, (unsigned_char*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                              short* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToInt16"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I2:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> short __fastcall
IConvertibleDispT<T>::ToInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  short pRetVal;
  this->ToInt16(provider, (short*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToUInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                               unsigned_short* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToUInt16"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI2:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_short __fastcall
IConvertibleDispT<T>::ToUInt16(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  unsigned_short pRetVal;
  this->ToUInt16(provider, (unsigned_short*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                              long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToInt32"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IConvertibleDispT<T>::ToInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  long pRetVal;
  this->ToInt32(provider, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToUInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                               unsigned_long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToUInt32"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_long __fastcall
IConvertibleDispT<T>::ToUInt32(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  unsigned_long pRetVal;
  this->ToUInt32(provider, (unsigned_long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                              __int64* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToInt64"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I8:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> __int64 __fastcall
IConvertibleDispT<T>::ToInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  __int64 pRetVal;
  this->ToInt64(provider, (__int64*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToUInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                               unsigned_int64* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToUInt64"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI8:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_int64 __fastcall
IConvertibleDispT<T>::ToUInt64(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  unsigned_int64 pRetVal;
  this->ToUInt64(provider, (unsigned_int64*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToSingle(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                               float* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToSingle"), DISPID(DISPID_UNKNOWN/*[1610743819]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
IConvertibleDispT<T>::ToSingle(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  float pRetVal;
  this->ToSingle(provider, (float*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToDouble(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                               double* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToDouble"), DISPID(DISPID_UNKNOWN/*[1610743820]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_R8:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> double __fastcall
IConvertibleDispT<T>::ToDouble(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  double pRetVal;
  this->ToDouble(provider, (double*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToDecimal(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                DECIMAL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToDecimal"), DISPID(DISPID_UNKNOWN/*[1610743821]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_DECIMAL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> DECIMAL __fastcall
IConvertibleDispT<T>::ToDecimal(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  DECIMAL pRetVal;
  this->ToDecimal(provider, (DECIMAL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToDateTime(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                 DATE* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToDateTime"), DISPID(DISPID_UNKNOWN/*[1610743822]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_DATE:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> DATE __fastcall
IConvertibleDispT<T>::ToDateTime(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  DATE pRetVal;
  this->ToDateTime(provider, (DATE*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::get_ToString(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                                   BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(DISPID_UNKNOWN/*[1610743823]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IConvertibleDispT<T>::get_ToString(Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  BSTR pRetVal;
  this->get_ToString(provider, (BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConvertibleDispT<T>::ToType(Mscorlib_tlb::_TypePtr conversionType/*[in]*/, 
                             Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/, 
                             TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToType"), DISPID(DISPID_UNKNOWN/*[1610743824]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)conversionType /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)provider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IConvertibleDispT<T>::ToType(Mscorlib_tlb::_TypePtr conversionType/*[in]*/, 
                             Mscorlib_tlb::IFormatProviderPtr provider/*[in]*/)
{
  TVariant pRetVal;
  this->ToType(conversionType, provider, (TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_Enum
// Interface: _Enum
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Enum
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D09D1E04-D590-39A3-B517-B734A49A9277}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_String
// Interface: _String
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _String
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {36936699-FC79-324D-AB43-E33C1F94E263}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IComparer
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C20FD3EB-7022-3D14-8477-760FAB54E50D}
// *********************************************************************//
template <class T> HRESULT __fastcall
IComparerDispT<T>::Compare(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/, 
                           long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Compare"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = x /*[VT_VARIANT:0]*/;
  _args[2] = y /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IComparerDispT<T>::Compare(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/)
{
  long pRetVal;
  this->Compare(x, y, (long*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IEqualityComparer
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AAB7C6EA-CAB0-3ADB-82AA-CF32E29AF238}
// *********************************************************************//
template <class T> HRESULT __fastcall
IEqualityComparerDispT<T>::Equals(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/, 
                                  TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = x /*[VT_VARIANT:0]*/;
  _args[2] = y /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IEqualityComparerDispT<T>::Equals(TVariantInParam x/*[in]*/, TVariantInParam y/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(x, y, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IEqualityComparerDispT<T>::GetHashCode(TVariantInParam obj/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IEqualityComparerDispT<T>::GetHashCode(TVariantInParam obj/*[in]*/)
{
  long pRetVal;
  this->GetHashCode(obj, (long*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_StringComparer
// Interface: _StringComparer
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StringComparer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7499E7E8-DF01-3948-B8D4-FA4B9661D36B}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ISerializable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {D0EEAA62-3D30-3EE2-B896-A2F34DDA47D8}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISerializableDispT<T>::GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                     /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context)
{
  _TDispID _dispid(*this, OLETEXT("GetObjectData"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_SerializationInfo*)info /*[VT_USERDEFINED:1]*/;
  _args[2] = Context /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_StringBuilder
// Interface: _StringBuilder
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StringBuilder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9FB09782-8D39-3B0C-B79E-F7A37A65B3DA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Exception
// Interface: _Exception
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ExceptionT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(obj, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ExceptionT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_ExceptionT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_ExceptionT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::get_Message(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Message(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ExceptionT<T>::get_Message(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_Message((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::GetBaseException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetBaseException(pRetVal);
}

template <class T> Mscorlib_tlb::_ExceptionPtr __fastcall
TCOM_ExceptionT<T>::GetBaseException(void)
{
  Mscorlib_tlb::_ExceptionPtr pRetVal;
  OLECHECK(this->GetBaseException((Mscorlib_tlb::_ExceptionPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::get_StackTrace(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_StackTrace(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ExceptionT<T>::get_StackTrace(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_StackTrace((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::get_HelpLink(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_HelpLink(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ExceptionT<T>::get_HelpLink(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_HelpLink((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::set_HelpLink(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_HelpLink(pRetVal);
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::get_Source(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Source(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ExceptionT<T>::get_Source(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_Source((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::set_Source(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_Source(pRetVal);
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                  Mscorlib_tlb::StreamingContext Context/*[in]*/)
{
  return (*this)->GetObjectData(info, Context);
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::get_InnerException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_InnerException(pRetVal);
}

template <class T> Mscorlib_tlb::_ExceptionPtr __fastcall
TCOM_ExceptionT<T>::get_InnerException(void)
{
  Mscorlib_tlb::_ExceptionPtr pRetVal;
  OLECHECK(this->get_InnerException((Mscorlib_tlb::_ExceptionPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ExceptionT<T>::get_TargetSite(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_TargetSite(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodBasePtr __fastcall
TCOM_ExceptionT<T>::get_TargetSite(void)
{
  Mscorlib_tlb::_MethodBasePtr pRetVal;
  OLECHECK(this->get_TargetSite((Mscorlib_tlb::_MethodBasePtr*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  _Exception
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B36B5C63-42EF-38BC-A07E-0B34C98F164A}
// *********************************************************************//
template <class T> HRESULT __fastcall
_ExceptionDispT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ExceptionDispT<T>::get_ToString(void)
{
  BSTR pRetVal;
  this->get_ToString((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_ExceptionDispT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(obj, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_ExceptionDispT<T>::GetHashCode(void)
{
  long pRetVal;
  this->GetHashCode((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_ExceptionDispT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::get_Message(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Message"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ExceptionDispT<T>::get_Message(void)
{
  BSTR pRetVal;
  this->get_Message((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::GetBaseException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetBaseException"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Exception**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ExceptionPtr __fastcall
_ExceptionDispT<T>::GetBaseException(void)
{
  Mscorlib_tlb::_ExceptionPtr pRetVal;
  this->GetBaseException((Mscorlib_tlb::_ExceptionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::get_StackTrace(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StackTrace"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ExceptionDispT<T>::get_StackTrace(void)
{
  BSTR pRetVal;
  this->get_StackTrace((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::get_HelpLink(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HelpLink"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ExceptionDispT<T>::get_HelpLink(void)
{
  BSTR pRetVal;
  this->get_HelpLink((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::set_HelpLink(BSTR pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("HelpLink"), DISPID(1610743815));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::get_Source(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Source"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ExceptionDispT<T>::get_Source(void)
{
  BSTR pRetVal;
  this->get_Source((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::set_Source(BSTR pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Source"), DISPID(1610743817));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                  /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context)
{
  _TDispID _dispid(*this, OLETEXT("GetObjectData"), DISPID(DISPID_UNKNOWN/*[1610743819]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_SerializationInfo*)info /*[VT_USERDEFINED:1]*/;
  _args[2] = Context /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::get_InnerException(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InnerException"), DISPID(DISPID_UNKNOWN/*[1610743820]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Exception**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ExceptionPtr __fastcall
_ExceptionDispT<T>::get_InnerException(void)
{
  Mscorlib_tlb::_ExceptionPtr pRetVal;
  this->get_InnerException((Mscorlib_tlb::_ExceptionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ExceptionDispT<T>::get_TargetSite(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TargetSite"), DISPID(DISPID_UNKNOWN/*[1610743821]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodBase**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodBasePtr __fastcall
_ExceptionDispT<T>::get_TargetSite(void)
{
  Mscorlib_tlb::_MethodBasePtr pRetVal;
  this->get_TargetSite((Mscorlib_tlb::_MethodBasePtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_SystemException
// Interface: _SystemException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SystemException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4C482CC2-68E9-37C6-8353-9A94BD2D7F0B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OutOfMemoryException
// Interface: _OutOfMemoryException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OutOfMemoryException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CF3EDB7E-0574-3383-A44F-292F7C145DB4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StackOverflowException
// Interface: _StackOverflowException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StackOverflowException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9CF4339A-2911-3B8A-8F30-E5C6B5BE9A29}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DataMisalignedException
// Interface: _DataMisalignedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DataMisalignedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {152A6B4D-09AF-3EDF-8CBA-11797EEEEA4E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ExecutionEngineException
// Interface: _ExecutionEngineException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ExecutionEngineException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CCF0139C-79F7-3D0A-AFFE-2B0762C65B07}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Delegate
// Interface: _Delegate
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_DelegateT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(obj, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_DelegateT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_DelegateT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_DelegateT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::GetInvocationList(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetInvocationList(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_DelegateT<T>::GetInvocationList(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetInvocationList((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::Clone(TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Clone(pRetVal);
}

template <class T> TVariant __fastcall
TCOM_DelegateT<T>::Clone(void)
{
  TVariant pRetVal;
  OLECHECK(this->Clone((TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                 Mscorlib_tlb::StreamingContext Context/*[in]*/)
{
  return (*this)->GetObjectData(info, Context);
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::DynamicInvoke(LPSAFEARRAY args/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->DynamicInvoke(args, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_DelegateT<T>::DynamicInvoke(LPSAFEARRAY args/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->DynamicInvoke(args, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::get_Method(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Method(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_DelegateT<T>::get_Method(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->get_Method((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_DelegateT<T>::get_Target(TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Target(pRetVal);
}

template <class T> TVariant __fastcall
TCOM_DelegateT<T>::get_Target(void)
{
  TVariant pRetVal;
  OLECHECK(this->get_Target((TVariant*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  _Delegate
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {FB6AB00F-5096-3AF8-A33D-D7885A5FA829}
// *********************************************************************//
template <class T> HRESULT __fastcall
_DelegateDispT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_DelegateDispT<T>::get_ToString(void)
{
  BSTR pRetVal;
  this->get_ToString((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_DelegateDispT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(obj, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_DelegateDispT<T>::GetHashCode(void)
{
  long pRetVal;
  this->GetHashCode((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_DelegateDispT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::GetInvocationList(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetInvocationList"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_DelegateDispT<T>::GetInvocationList(void)
{
  LPSAFEARRAY pRetVal;
  this->GetInvocationList((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::Clone(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Clone"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_DelegateDispT<T>::Clone(void)
{
  TVariant pRetVal;
  this->Clone((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                 /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context)
{
  _TDispID _dispid(*this, OLETEXT("GetObjectData"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_SerializationInfo*)info /*[VT_USERDEFINED:1]*/;
  _args[2] = Context /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::DynamicInvoke(LPSAFEARRAY args/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DynamicInvoke"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = args /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_DelegateDispT<T>::DynamicInvoke(LPSAFEARRAY args/*[in]*/)
{
  TVariant pRetVal;
  this->DynamicInvoke(args, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::get_Method(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Method"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
_DelegateDispT<T>::get_Method(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  this->get_Method((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_DelegateDispT<T>::get_Target(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Target"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
_DelegateDispT<T>::get_Target(void)
{
  TVariant pRetVal;
  this->get_Target((TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_MulticastDelegate
// Interface: _MulticastDelegate
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MulticastDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {16FE0885-9129-3884-A232-90B58C5B2AA9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MemberAccessException
// Interface: _MemberAccessException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MemberAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7EABA4E2-1259-3CF2-B084-9854278E5897}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Activator
// Interface: _Activator
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ActivatorT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ActivatorT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ActivatorT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                  unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ActivatorT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_AccessViolationException
// Interface: _AccessViolationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AccessViolationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {13EF674A-6327-3CAF-8772-FA0395612669}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationActivator
// Interface: _ApplicationActivator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationActivator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D1204423-01F0-336A-8911-A7E8FBE185A3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationException
// Interface: _ApplicationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D81130BF-D627-3B91-A7C7-CEA597093464}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_EventArgs
// Interface: _EventArgs
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1F9EC719-343A-3CB3-8040-3927626777C1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ResolveEventArgs
// Interface: _ResolveEventArgs
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ResolveEventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {98947CF0-77E7-328E-B709-5DD1AA1C9C96}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyLoadEventArgs
// Interface: _AssemblyLoadEventArgs
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyLoadEventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7A0325F0-22C2-31F9-8823-9B8AEE9456B1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ResolveEventHandler
// Interface: _ResolveEventHandler
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ResolveEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8E54A9CC-7AA4-34CA-985B-BD7D7527B110}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyLoadEventHandler
// Interface: _AssemblyLoadEventHandler
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyLoadEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DEECE11F-A893-3E35-A4C3-DAB7FA0911EB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AppDomainInitializer
// Interface: _AppDomainInitializer
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AppDomainInitializer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5E6F9EDB-3CE1-3A56-86D9-CD2DDF7A6FFF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MarshalByRefObject
// Interface: _MarshalByRefObject
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MarshalByRefObject
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2C358E27-8C1A-3C03-B086-A40465625557}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AppDomain
// Interface: _AppDomain
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                  unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AppDomainT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_AppDomainT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_AppDomainT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_AppDomainT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->InitializeLifetimeService(pRetVal);
}

template <class T> TVariant __fastcall
TCOM_AppDomainT<T>::InitializeLifetimeService(void)
{
  TVariant pRetVal;
  OLECHECK(this->InitializeLifetimeService((TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetLifetimeService(TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->GetLifetimeService(pRetVal);
}

template <class T> TVariant __fastcall
TCOM_AppDomainT<T>::GetLifetimeService(void)
{
  TVariant pRetVal;
  OLECHECK(this->GetLifetimeService((TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Evidence(pRetVal);
}

template <class T> Mscorlib_tlb::_EvidencePtr __fastcall
TCOM_AppDomainT<T>::get_Evidence(void)
{
  Mscorlib_tlb::_EvidencePtr pRetVal;
  OLECHECK(this->get_Evidence((Mscorlib_tlb::_EvidencePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::add_DomainUnload(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/)
{
  return (*this)->add_DomainUnload(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::remove_DomainUnload(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_DomainUnload(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::add_AssemblyLoad(Mscorlib_tlb::_AssemblyLoadEventHandlerPtr value/*[in]*/)
{
  return (*this)->add_AssemblyLoad(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::remove_AssemblyLoad(Mscorlib_tlb::_AssemblyLoadEventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_AssemblyLoad(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::add_ProcessExit(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/)
{
  return (*this)->add_ProcessExit(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::remove_ProcessExit(Mscorlib_tlb::_EventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_ProcessExit(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::add_TypeResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->add_TypeResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::remove_TypeResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_TypeResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::add_ResourceResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->add_ResourceResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::remove_ResourceResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_ResourceResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::add_AssemblyResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->add_AssemblyResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::remove_AssemblyResolve(Mscorlib_tlb::_ResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_AssemblyResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::add_UnhandledException(Mscorlib_tlb::_UnhandledExceptionEventHandlerPtr value/*[in]*/)
{
  return (*this)->add_UnhandledException(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::remove_UnhandledException(Mscorlib_tlb::_UnhandledExceptionEventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_UnhandledException(value);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                          Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                          Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly(name, access, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                          Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly(name, access, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_2(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_2(name, access, dir, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_2(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_2(name, access, dir, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_3(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_3(name, access, Evidence, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_3(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_3(name, access, Evidence, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_4(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_4(name, access, requiredPermissions, optionalPermissions, 
                                          refusedPermissions, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_4(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_4(name, access, requiredPermissions, optionalPermissions, 
                                         refusedPermissions, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_5(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_5(name, access, dir, Evidence, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_5(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_5(name, access, dir, Evidence, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_6(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_6(name, access, dir, requiredPermissions, 
                                          optionalPermissions, refusedPermissions, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_6(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_6(name, access, dir, requiredPermissions, optionalPermissions, 
                                         refusedPermissions, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_7(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_7(name, access, Evidence, requiredPermissions, 
                                          optionalPermissions, refusedPermissions, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_7(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_7(name, access, Evidence, requiredPermissions, 
                                         optionalPermissions, refusedPermissions, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_8(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_8(name, access, dir, Evidence, requiredPermissions, 
                                          optionalPermissions, refusedPermissions, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_8(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_8(name, access, dir, Evidence, requiredPermissions, 
                                         optionalPermissions, refusedPermissions, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_9(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                            TOLEBOOL IsSynchronized/*[in]*/, 
                                            Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->DefineDynamicAssembly_9(name, access, dir, Evidence, requiredPermissions, 
                                          optionalPermissions, refusedPermissions, IsSynchronized, 
                                          pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOM_AppDomainT<T>::DefineDynamicAssembly_9(Mscorlib_tlb::_AssemblyNamePtr name/*[in]*/, 
                                            Mscorlib_tlb::AssemblyBuilderAccess access/*[in]*/, 
                                            BSTR dir/*[in]*/, 
                                            Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr requiredPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr optionalPermissions/*[in]*/, 
                                            Mscorlib_tlb::_PermissionSetPtr refusedPermissions/*[in]*/, 
                                            TOLEBOOL IsSynchronized/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->DefineDynamicAssembly_9(name, access, dir, Evidence, requiredPermissions, 
                                         optionalPermissions, refusedPermissions, IsSynchronized, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::CreateInstance(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                   Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstance(AssemblyName, typeName, pRetVal);
}

template <class T> Mscorlib_tlb::_ObjectHandlePtr __fastcall
TCOM_AppDomainT<T>::CreateInstance(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/)
{
  Mscorlib_tlb::_ObjectHandlePtr pRetVal;
  OLECHECK(this->CreateInstance(AssemblyName, typeName, (Mscorlib_tlb::_ObjectHandlePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::CreateInstanceFrom(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                       Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstanceFrom(assemblyFile, typeName, pRetVal);
}

template <class T> Mscorlib_tlb::_ObjectHandlePtr __fastcall
TCOM_AppDomainT<T>::CreateInstanceFrom(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/)
{
  Mscorlib_tlb::_ObjectHandlePtr pRetVal;
  OLECHECK(this->CreateInstanceFrom(assemblyFile, typeName, (Mscorlib_tlb::_ObjectHandlePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::CreateInstance_2(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                     LPSAFEARRAY activationAttributes/*[in]*/, 
                                     Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstance_2(AssemblyName, typeName, activationAttributes, pRetVal);
}

template <class T> Mscorlib_tlb::_ObjectHandlePtr __fastcall
TCOM_AppDomainT<T>::CreateInstance_2(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                     LPSAFEARRAY activationAttributes/*[in]*/)
{
  Mscorlib_tlb::_ObjectHandlePtr pRetVal;
  OLECHECK(this->CreateInstance_2(AssemblyName, typeName, activationAttributes, (Mscorlib_tlb::_ObjectHandlePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::CreateInstanceFrom_2(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                         LPSAFEARRAY activationAttributes/*[in]*/, 
                                         Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstanceFrom_2(assemblyFile, typeName, activationAttributes, pRetVal);
}

template <class T> Mscorlib_tlb::_ObjectHandlePtr __fastcall
TCOM_AppDomainT<T>::CreateInstanceFrom_2(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                         LPSAFEARRAY activationAttributes/*[in]*/)
{
  Mscorlib_tlb::_ObjectHandlePtr pRetVal;
  OLECHECK(this->CreateInstanceFrom_2(assemblyFile, typeName, activationAttributes, (Mscorlib_tlb::_ObjectHandlePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::CreateInstance_3(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                     TOLEBOOL ignoreCase/*[in]*/, 
                                     Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                     Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                     LPSAFEARRAY args/*[in]*/, 
                                     Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                     LPSAFEARRAY activationAttributes/*[in]*/, 
                                     Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/, 
                                     Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstance_3(AssemblyName, typeName, ignoreCase, bindingAttr, Binder, args, 
                                   culture, activationAttributes, securityAttributes, pRetVal);
}

template <class T> Mscorlib_tlb::_ObjectHandlePtr __fastcall
TCOM_AppDomainT<T>::CreateInstance_3(BSTR AssemblyName/*[in]*/, BSTR typeName/*[in]*/, 
                                     TOLEBOOL ignoreCase/*[in]*/, 
                                     Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                     Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                     LPSAFEARRAY args/*[in]*/, 
                                     Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                     LPSAFEARRAY activationAttributes/*[in]*/, 
                                     Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/)
{
  Mscorlib_tlb::_ObjectHandlePtr pRetVal;
  OLECHECK(this->CreateInstance_3(AssemblyName, typeName, ignoreCase, bindingAttr, Binder, args, 
                                  culture, activationAttributes, securityAttributes, (Mscorlib_tlb::_ObjectHandlePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::CreateInstanceFrom_3(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                         TOLEBOOL ignoreCase/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                         LPSAFEARRAY args/*[in]*/, 
                                         Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                         LPSAFEARRAY activationAttributes/*[in]*/, 
                                         Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/, 
                                         Mscorlib_tlb::_ObjectHandlePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstanceFrom_3(assemblyFile, typeName, ignoreCase, bindingAttr, Binder, args, 
                                       culture, activationAttributes, securityAttributes, pRetVal);
}

template <class T> Mscorlib_tlb::_ObjectHandlePtr __fastcall
TCOM_AppDomainT<T>::CreateInstanceFrom_3(BSTR assemblyFile/*[in]*/, BSTR typeName/*[in]*/, 
                                         TOLEBOOL ignoreCase/*[in]*/, 
                                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                         Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                         LPSAFEARRAY args/*[in]*/, 
                                         Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                         LPSAFEARRAY activationAttributes/*[in]*/, 
                                         Mscorlib_tlb::_EvidencePtr securityAttributes/*[in]*/)
{
  Mscorlib_tlb::_ObjectHandlePtr pRetVal;
  OLECHECK(this->CreateInstanceFrom_3(assemblyFile, typeName, ignoreCase, bindingAttr, Binder, args, 
                                      culture, activationAttributes, securityAttributes, (Mscorlib_tlb::_ObjectHandlePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Load(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                         Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->Load(assemblyRef, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AppDomainT<T>::Load(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->Load(assemblyRef, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Load_2(BSTR assemblyString/*[in]*/, 
                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->Load_2(assemblyString, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AppDomainT<T>::Load_2(BSTR assemblyString/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->Load_2(assemblyString, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Load_3(LPSAFEARRAY rawAssembly/*[in]*/, 
                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->Load_3(rawAssembly, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AppDomainT<T>::Load_3(LPSAFEARRAY rawAssembly/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->Load_3(rawAssembly, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Load_4(LPSAFEARRAY rawAssembly/*[in]*/, LPSAFEARRAY rawSymbolStore/*[in]*/, 
                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->Load_4(rawAssembly, rawSymbolStore, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AppDomainT<T>::Load_4(LPSAFEARRAY rawAssembly/*[in]*/, LPSAFEARRAY rawSymbolStore/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->Load_4(rawAssembly, rawSymbolStore, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Load_5(LPSAFEARRAY rawAssembly/*[in]*/, LPSAFEARRAY rawSymbolStore/*[in]*/, 
                           Mscorlib_tlb::_EvidencePtr securityEvidence/*[in]*/, 
                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->Load_5(rawAssembly, rawSymbolStore, securityEvidence, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AppDomainT<T>::Load_5(LPSAFEARRAY rawAssembly/*[in]*/, LPSAFEARRAY rawSymbolStore/*[in]*/, 
                           Mscorlib_tlb::_EvidencePtr securityEvidence/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->Load_5(rawAssembly, rawSymbolStore, securityEvidence, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Load_6(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                           Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->Load_6(assemblyRef, assemblySecurity, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AppDomainT<T>::Load_6(Mscorlib_tlb::_AssemblyNamePtr assemblyRef/*[in]*/, 
                           Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->Load_6(assemblyRef, assemblySecurity, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::Load_7(BSTR assemblyString/*[in]*/, 
                           Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                           Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->Load_7(assemblyString, assemblySecurity, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AppDomainT<T>::Load_7(BSTR assemblyString/*[in]*/, 
                           Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->Load_7(assemblyString, assemblySecurity, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::ExecuteAssembly(BSTR assemblyFile/*[in]*/, 
                                    Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                    long* pRetVal/*[out,retval]*/)
{
  return (*this)->ExecuteAssembly(assemblyFile, assemblySecurity, pRetVal);
}

template <class T> long __fastcall
TCOM_AppDomainT<T>::ExecuteAssembly(BSTR assemblyFile/*[in]*/, 
                                    Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/)
{
  long pRetVal;
  OLECHECK(this->ExecuteAssembly(assemblyFile, assemblySecurity, (long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::ExecuteAssembly_2(BSTR assemblyFile/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  return (*this)->ExecuteAssembly_2(assemblyFile, pRetVal);
}

template <class T> long __fastcall
TCOM_AppDomainT<T>::ExecuteAssembly_2(BSTR assemblyFile/*[in]*/)
{
  long pRetVal;
  OLECHECK(this->ExecuteAssembly_2(assemblyFile, (long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::ExecuteAssembly_3(BSTR assemblyFile/*[in]*/, 
                                      Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                      LPSAFEARRAY args/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  return (*this)->ExecuteAssembly_3(assemblyFile, assemblySecurity, args, pRetVal);
}

template <class T> long __fastcall
TCOM_AppDomainT<T>::ExecuteAssembly_3(BSTR assemblyFile/*[in]*/, 
                                      Mscorlib_tlb::_EvidencePtr assemblySecurity/*[in]*/, 
                                      LPSAFEARRAY args/*[in]*/)
{
  long pRetVal;
  OLECHECK(this->ExecuteAssembly_3(assemblyFile, assemblySecurity, args, (long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::get_FriendlyName(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_FriendlyName(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AppDomainT<T>::get_FriendlyName(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_FriendlyName((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::get_BaseDirectory(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_BaseDirectory(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AppDomainT<T>::get_BaseDirectory(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_BaseDirectory((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::get_RelativeSearchPath(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_RelativeSearchPath(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AppDomainT<T>::get_RelativeSearchPath(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_RelativeSearchPath((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::get_ShadowCopyFiles(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ShadowCopyFiles(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_AppDomainT<T>::get_ShadowCopyFiles(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_ShadowCopyFiles((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetAssemblies(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AppDomainT<T>::GetAssemblies(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetAssemblies((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::AppendPrivatePath(BSTR Path/*[in]*/)
{
  return (*this)->AppendPrivatePath(Path);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::ClearPrivatePath(void)
{
  return (*this)->ClearPrivatePath();
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::SetShadowCopyPath(BSTR s/*[in]*/)
{
  return (*this)->SetShadowCopyPath(s);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::ClearShadowCopyPath(void)
{
  return (*this)->ClearShadowCopyPath();
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::SetCachePath(BSTR s/*[in]*/)
{
  return (*this)->SetCachePath(s);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::SetData(BSTR name/*[in]*/, TVariantInParam data/*[in]*/)
{
  return (*this)->SetData(name, data);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::GetData(BSTR name/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->GetData(name, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_AppDomainT<T>::GetData(BSTR name/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->GetData(name, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::SetAppDomainPolicy(Mscorlib_tlb::_PolicyLevelPtr domainPolicy/*[in]*/)
{
  return (*this)->SetAppDomainPolicy(domainPolicy);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::SetThreadPrincipal(Mscorlib_tlb::IPrincipalPtr principal/*[in]*/)
{
  return (*this)->SetThreadPrincipal(principal);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::SetPrincipalPolicy(Mscorlib_tlb::PrincipalPolicy policy/*[in]*/)
{
  return (*this)->SetPrincipalPolicy(policy);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::DoCallBack(Mscorlib_tlb::_CrossAppDomainDelegatePtr theDelegate/*[in]*/)
{
  return (*this)->DoCallBack(theDelegate);
}

template <class T> HRESULT __fastcall
TCOM_AppDomainT<T>::get_DynamicDirectory(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DynamicDirectory(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AppDomainT<T>::get_DynamicDirectory(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_DynamicDirectory((BSTR*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IEvidenceFactory
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {35A8F3AC-FE28-360F-A0C0-9A4D50C4682A}
// *********************************************************************//
template <class T> HRESULT __fastcall
IEvidenceFactoryDispT<T>::get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Evidence"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Evidence**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_EvidencePtr __fastcall
IEvidenceFactoryDispT<T>::get_Evidence(void)
{
  Mscorlib_tlb::_EvidencePtr pRetVal;
  this->get_Evidence((Mscorlib_tlb::_EvidencePtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_CrossAppDomainDelegate
// Interface: _CrossAppDomainDelegate
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CrossAppDomainDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AF93163F-C2F4-3FAB-9FF1-728A7AAAD1CB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AppDomainManager
// Interface: _AppDomainManager
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AppDomainManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {63E53E04-D31B-3099-9F0C-C7A1C883C1D9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOMIAppDomainSetup
// Interface: IAppDomainSetup
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_ApplicationBase(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ApplicationBase(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_ApplicationBase(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ApplicationBase((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_ApplicationBase(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_ApplicationBase(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_ApplicationName(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ApplicationName(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_ApplicationName(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ApplicationName((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_ApplicationName(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_ApplicationName(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_CachePath(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_CachePath(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_CachePath(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_CachePath((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_CachePath(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_CachePath(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_ConfigurationFile(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ConfigurationFile(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_ConfigurationFile(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ConfigurationFile((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_ConfigurationFile(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_ConfigurationFile(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_DynamicBase(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DynamicBase(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_DynamicBase(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_DynamicBase((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_DynamicBase(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_DynamicBase(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_LicenseFile(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_LicenseFile(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_LicenseFile(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_LicenseFile((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_LicenseFile(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_LicenseFile(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_PrivateBinPath(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_PrivateBinPath(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_PrivateBinPath(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_PrivateBinPath((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_PrivateBinPath(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_PrivateBinPath(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_PrivateBinPathProbe(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_PrivateBinPathProbe(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_PrivateBinPathProbe(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_PrivateBinPathProbe((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_PrivateBinPathProbe(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_PrivateBinPathProbe(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_ShadowCopyDirectories(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ShadowCopyDirectories(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_ShadowCopyDirectories(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ShadowCopyDirectories((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_ShadowCopyDirectories(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_ShadowCopyDirectories(pRetVal);
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::get_ShadowCopyFiles(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ShadowCopyFiles(pRetVal);
}

template <class T> BSTR __fastcall
TCOMIAppDomainSetupT<T>::get_ShadowCopyFiles(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ShadowCopyFiles((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIAppDomainSetupT<T>::set_ShadowCopyFiles(BSTR pRetVal/*[in]*/)
{
  return (*this)->set_ShadowCopyFiles(pRetVal);
}

// *********************************************************************//
// SmartIntf: TCOM_Attribute
// Interface: _Attribute
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_AttributeT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AttributeT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AttributeT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                  unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_AttributeT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_LoaderOptimizationAttribute
// Interface: _LoaderOptimizationAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _LoaderOptimizationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CE59D7AD-05CA-33B4-A1DD-06028D46E9D2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AppDomainUnloadedException
// Interface: _AppDomainUnloadedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AppDomainUnloadedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6E96AA70-9FFB-399D-96BF-A68436095C54}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ActivationArguments
// Interface: _ActivationArguments
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ActivationArguments
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CFD9CA27-F0BA-388A-ACDE-B7E20FCAD79C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationId
// Interface: _ApplicationId
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationId
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2F218F95-4215-3CC6-8A51-BD2770C090E4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ArgumentException
// Interface: _ArgumentException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ArgumentException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4DB2C2B7-CBC2-3185-B966-875D4625B1A8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ArgumentNullException
// Interface: _ArgumentNullException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ArgumentNullException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C991949B-E623-3F24-885C-BBB01FF43564}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ArgumentOutOfRangeException
// Interface: _ArgumentOutOfRangeException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ArgumentOutOfRangeException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77DA3028-BC45-3E82-BF76-2C123EE2C021}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ArithmeticException
// Interface: _ArithmeticException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ArithmeticException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9B012CF1-ACF6-3389-A336-C023040C62A2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ArrayTypeMismatchException
// Interface: _ArrayTypeMismatchException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ArrayTypeMismatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DD7488A6-1B3F-3823-9556-C2772B15150F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AsyncCallback
// Interface: _AsyncCallback
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AsyncCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3612706E-0239-35FD-B900-0819D16D442D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AttributeUsageAttribute
// Interface: _AttributeUsageAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AttributeUsageAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A902A192-49BA-3EC8-B444-AF5F7743F61A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BadImageFormatException
// Interface: _BadImageFormatException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BadImageFormatException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F98BCE04-4A4B-398C-A512-FD8348D51E3B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Buffer
// Interface: _Buffer
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Buffer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F036BCA4-F8DF-3682-8290-75285CE7456C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CannotUnloadAppDomainException
// Interface: _CannotUnloadAppDomainException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CannotUnloadAppDomainException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6D4B6ADB-B9FA-3809-B5EA-FA57B56C546F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CharEnumerator
// Interface: _CharEnumerator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CharEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1DD627FC-89E3-384F-BB9D-58CB4EFB9456}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CLSCompliantAttribute
// Interface: _CLSCompliantAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CLSCompliantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BF1AF177-94CA-3E6D-9D91-55CF9E859D22}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeUnloadedException
// Interface: _TypeUnloadedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeUnloadedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C2A10F3A-356A-3C77-AAB9-8991D73A2561}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Thread
// Interface: _Thread
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ThreadT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ThreadT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                             long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ThreadT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                               unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                               long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ThreadT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                        unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, long pDispParams/*[in]*/, 
                        long pVarResult/*[in]*/, long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_CriticalFinalizerObject
// Interface: _CriticalFinalizerObject
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CriticalFinalizerObject
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6B3F9834-1725-38C5-955E-20F051D067BD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ContextMarshalException
// Interface: _ContextMarshalException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ContextMarshalException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7386F4D7-7C11-389F-BB75-895714B12BB5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ContextBoundObject
// Interface: _ContextBoundObject
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ContextBoundObject
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3EB1D909-E8BF-3C6B-ADA5-0E86E31E186E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ContextStaticAttribute
// Interface: _ContextStaticAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ContextStaticAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {160D517F-F175-3B61-8264-6D2305B8246C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TimeZone
// Interface: _TimeZone
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TimeZone
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3025F666-7891-33D7-AACD-23D169EF354E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DBNull
// Interface: _DBNull
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DBNull
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D9F1B65-6D27-3E9F-BAF3-0597837E0F33}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Binder
// Interface: _Binder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_BinderT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_BinderT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(obj, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_BinderT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_BinderT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_BinderT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY* args/*[in,out]*/, 
                              LPSAFEARRAY modifiers/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                              LPSAFEARRAY names/*[in]*/, TVariant* state/*[out]*/, 
                              Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->BindToMethod(bindingAttr, match, args, modifiers, culture, names, state, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodBasePtr __fastcall
TCOM_BinderT<T>::BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY* args/*[in,out]*/, 
                              LPSAFEARRAY modifiers/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                              LPSAFEARRAY names/*[in]*/, TVariant* state/*[out]*/)
{
  Mscorlib_tlb::_MethodBasePtr pRetVal;
  OLECHECK(this->BindToMethod(bindingAttr, match, args, modifiers, culture, names, state, (Mscorlib_tlb::_MethodBasePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             LPSAFEARRAY match/*[in]*/, TVariantInParam value/*[in]*/, 
                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                             Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->BindToField(bindingAttr, match, value, culture, pRetVal);
}

template <class T> Mscorlib_tlb::_FieldInfoPtr __fastcall
TCOM_BinderT<T>::BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             LPSAFEARRAY match/*[in]*/, TVariantInParam value/*[in]*/, 
                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  Mscorlib_tlb::_FieldInfoPtr pRetVal;
  OLECHECK(this->BindToField(bindingAttr, match, value, culture, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                              LPSAFEARRAY modifiers/*[in]*/, 
                              Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->SelectMethod(bindingAttr, match, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodBasePtr __fastcall
TCOM_BinderT<T>::SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                              LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_MethodBasePtr pRetVal;
  OLECHECK(this->SelectMethod(bindingAttr, match, types, modifiers, (Mscorlib_tlb::_MethodBasePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                LPSAFEARRAY match/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                LPSAFEARRAY indexes/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->SelectProperty(bindingAttr, match, returnType, indexes, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_BinderT<T>::SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                LPSAFEARRAY match/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                LPSAFEARRAY indexes/*[in]*/, LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->SelectProperty(bindingAttr, match, returnType, indexes, modifiers, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::ChangeType(TVariantInParam value/*[in]*/, Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                            TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->ChangeType(value, Type, culture, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_BinderT<T>::ChangeType(TVariantInParam value/*[in]*/, Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->ChangeType(value, Type, culture, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_BinderT<T>::ReorderArgumentArray(LPSAFEARRAY* args/*[in,out]*/, TVariantInParam state/*[in]*/)
{
  return (*this)->ReorderArgumentArray(args, state);
}

// *********************************************************************//
// DispIntf:  _Binder
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {3169AB11-7109-3808-9A61-EF4BA0534FD9}
// *********************************************************************//
template <class T> HRESULT __fastcall
_BinderDispT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_BinderDispT<T>::get_ToString(void)
{
  BSTR pRetVal;
  this->get_ToString((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_BinderDispT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(obj, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_BinderDispT<T>::GetHashCode(void)
{
  long pRetVal;
  this->GetHashCode((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_BinderDispT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY* args/*[in,out]*/, 
                              LPSAFEARRAY modifiers/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                              LPSAFEARRAY names/*[in]*/, TVariant* state/*[out]*/, 
                              Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BindToMethod"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<7> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  _args[2] = match /*[VT_SAFEARRAY:0]*/;
  _args[3] = args /*[VT_SAFEARRAY:1]*/;
  _args[4] = modifiers /*[VT_SAFEARRAY:0]*/;
  _args[5] = (LPDISPATCH)(Mscorlib_tlb::_CultureInfo*)culture /*[VT_USERDEFINED:1]*/;
  _args[6] = names /*[VT_SAFEARRAY:0]*/;
  _args[7] = state /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodBase**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodBasePtr __fastcall
_BinderDispT<T>::BindToMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY* args/*[in,out]*/, 
                              LPSAFEARRAY modifiers/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                              LPSAFEARRAY names/*[in]*/, TVariant* state/*[out]*/)
{
  Mscorlib_tlb::_MethodBasePtr pRetVal;
  this->BindToMethod(bindingAttr, match, args, modifiers, culture, names, state, (Mscorlib_tlb::_MethodBasePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             LPSAFEARRAY match/*[in]*/, TVariantInParam value/*[in]*/, 
                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                             Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("BindToField"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<4> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  _args[2] = match /*[VT_SAFEARRAY:0]*/;
  _args[3] = value /*[VT_VARIANT:0]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::_CultureInfo*)culture /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_FieldInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_FieldInfoPtr __fastcall
_BinderDispT<T>::BindToField(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             LPSAFEARRAY match/*[in]*/, TVariantInParam value/*[in]*/, 
                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  Mscorlib_tlb::_FieldInfoPtr pRetVal;
  this->BindToField(bindingAttr, match, value, culture, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                              LPSAFEARRAY modifiers/*[in]*/, 
                              Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SelectMethod"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<4> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  _args[2] = match /*[VT_SAFEARRAY:0]*/;
  _args[3] = types /*[VT_SAFEARRAY:0]*/;
  _args[4] = modifiers /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodBase**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodBasePtr __fastcall
_BinderDispT<T>::SelectMethod(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY match/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                              LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_MethodBasePtr pRetVal;
  this->SelectMethod(bindingAttr, match, types, modifiers, (Mscorlib_tlb::_MethodBasePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                LPSAFEARRAY match/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/
                                , LPSAFEARRAY indexes/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                                Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SelectProperty"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<5> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  _args[2] = match /*[VT_SAFEARRAY:0]*/;
  _args[3] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)returnType /*[VT_USERDEFINED:1]*/;
  _args[4] = indexes /*[VT_SAFEARRAY:0]*/;
  _args[5] = modifiers /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_PropertyInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
_BinderDispT<T>::SelectProperty(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                LPSAFEARRAY match/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                                LPSAFEARRAY indexes/*[in]*/, LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  this->SelectProperty(bindingAttr, match, returnType, indexes, modifiers, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::ChangeType(TVariantInParam value/*[in]*/, Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                            TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChangeType"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<3> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  _args[2] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::_CultureInfo*)culture /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_BinderDispT<T>::ChangeType(TVariantInParam value/*[in]*/, Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  this->ChangeType(value, Type, culture, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_BinderDispT<T>::ReorderArgumentArray(LPSAFEARRAY* args/*[in,out]*/, TVariantInParam state/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReorderArgumentArray"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<2> _args;
  _args[1] = args /*[VT_SAFEARRAY:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IObjectReference
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6E70ED5F-0439-38CE-83BB-860F1421F29F}
// *********************************************************************//
template <class T> HRESULT __fastcall
IObjectReferenceDispT<T>::GetRealObject(/*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context
                                        , TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetRealObject"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = Context /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

// *********************************************************************//
// SmartIntf: TCOM_DivideByZeroException
// Interface: _DivideByZeroException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DivideByZeroException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BDEEA460-8241-3B41-9ED3-6E3E9977AC7F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DuplicateWaitObjectException
// Interface: _DuplicateWaitObjectException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DuplicateWaitObjectException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D345A42B-CFE0-3EEE-861C-F3322812B388}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeLoadException
// Interface: _TypeLoadException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeLoadException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {82D6B3BF-A633-3B3B-A09E-2363E4B24A41}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_EntryPointNotFoundException
// Interface: _EntryPointNotFoundException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EntryPointNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {67388F3F-B600-3BCF-84AA-BB2B88DD9EE2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DllNotFoundException
// Interface: _DllNotFoundException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DllNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {24AE6464-2834-32CD-83D6-FA06953DE62A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Environment
// Interface: _Environment
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Environment
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {29DC56CF-B981-3432-97C8-3680AB6D862D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_EventHandler
// Interface: _EventHandler
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7CEFC46E-16E0-3E65-9C38-55B4342BA7F0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FieldAccessException
// Interface: _FieldAccessException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FieldAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8D5F5811-FFA1-3306-93E3-8AFC572B9B82}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FlagsAttribute
// Interface: _FlagsAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FlagsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EBE3746D-DDEC-3D23-8E8D-9361BA87BAC6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FormatException
// Interface: _FormatException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FormatException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {07F92156-398A-3548-90B7-2E58026353D0}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IAsyncResult
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {11AB34E7-0176-3C9E-9EFE-197858400A3D}
// *********************************************************************//
template <class T> HRESULT __fastcall
IAsyncResultDispT<T>::get_IsCompleted(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsCompleted"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IAsyncResultDispT<T>::get_IsCompleted(void)
{
  TOLEBOOL pRetVal;
  this->get_IsCompleted((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IAsyncResultDispT<T>::get_AsyncWaitHandle(Mscorlib_tlb::_WaitHandlePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncWaitHandle"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_WaitHandle**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_WaitHandlePtr __fastcall
IAsyncResultDispT<T>::get_AsyncWaitHandle(void)
{
  Mscorlib_tlb::_WaitHandlePtr pRetVal;
  this->get_AsyncWaitHandle((Mscorlib_tlb::_WaitHandlePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IAsyncResultDispT<T>::get_AsyncState(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncState"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IAsyncResultDispT<T>::get_AsyncState(void)
{
  TVariant pRetVal;
  this->get_AsyncState((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IAsyncResultDispT<T>::get_CompletedSynchronously(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CompletedSynchronously"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IAsyncResultDispT<T>::get_CompletedSynchronously(void)
{
  TOLEBOOL pRetVal;
  this->get_CompletedSynchronously((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ICustomFormatter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {2B130940-CA5E-3406-8385-E259E68AB039}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICustomFormatterDispT<T>::format(BSTR format/*[in]*/, TVariantInParam arg/*[in]*/, 
                                 Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/, 
                                 BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("format"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = format /*[VT_BSTR:0]*/;
  _args[2] = arg /*[VT_VARIANT:0]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::IFormatProvider*)formatProvider /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
ICustomFormatterDispT<T>::format(BSTR format/*[in]*/, TVariantInParam arg/*[in]*/, 
                                 Mscorlib_tlb::IFormatProviderPtr formatProvider/*[in]*/)
{
  BSTR pRetVal;
  this->format(format, arg, formatProvider, (BSTR*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IFormatProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C8CB1DED-2814-396A-9CC0-473CA49779CC}
// *********************************************************************//
template <class T> HRESULT __fastcall
IFormatProviderDispT<T>::GetFormat(Mscorlib_tlb::_TypePtr formatType/*[in]*/, 
                                   TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetFormat"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)formatType /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IFormatProviderDispT<T>::GetFormat(Mscorlib_tlb::_TypePtr formatType/*[in]*/)
{
  TVariant pRetVal;
  this->GetFormat(formatType, (TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_IndexOutOfRangeException
// Interface: _IndexOutOfRangeException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IndexOutOfRangeException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5A5F1E4-82C1-391F-A1C6-F39EAE9DC72F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InvalidCastException
// Interface: _InvalidCastException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InvalidCastException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FA047CBD-9BA5-3A13-9B1F-6694D622CD76}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InvalidOperationException
// Interface: _InvalidOperationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InvalidOperationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8D520D10-0B8A-3553-8874-D30A4AD2FF4C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InvalidProgramException
// Interface: _InvalidProgramException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InvalidProgramException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3410E0FB-636F-3CD1-8045-3993CA113F25}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_LocalDataStoreSlot
// Interface: _LocalDataStoreSlot
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _LocalDataStoreSlot
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DC77F976-318D-3A1A-9B60-ABB9DD9406D6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodAccessException
// Interface: _MethodAccessException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MethodAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FF0BF77D-8F81-3D31-A3BB-6F54440FA7E5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MissingMemberException
// Interface: _MissingMemberException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MissingMemberException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8897D14B-7FB3-3D8B-9EE4-221C3DBAD6FE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MissingFieldException
// Interface: _MissingFieldException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MissingFieldException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9717176D-1179-3487-8849-CF5F63DE356E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MissingMethodException
// Interface: _MissingMethodException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MissingMethodException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5C659F6-92C8-3887-A07E-74D0D9C6267A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MulticastNotSupportedException
// Interface: _MulticastNotSupportedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MulticastNotSupportedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D2BA71CC-1B3D-3966-A0D7-C61E957AD325}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NonSerializedAttribute
// Interface: _NonSerializedAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NonSerializedAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {665C9669-B9C6-3ADD-9213-099F0127C893}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NotFiniteNumberException
// Interface: _NotFiniteNumberException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NotFiniteNumberException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8E21CE22-4F17-347B-B3B5-6A6DF3E0E58A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NotImplementedException
// Interface: _NotImplementedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NotImplementedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1E4D31A2-63EA-397A-A77E-B20AD87A9614}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NotSupportedException
// Interface: _NotSupportedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NotSupportedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {40E5451F-B237-33F8-945B-0230DB700BBB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NullReferenceException
// Interface: _NullReferenceException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NullReferenceException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ECBE2313-CF41-34B4-9FD0-B6CD602B023F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ObjectDisposedException
// Interface: _ObjectDisposedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObjectDisposedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {17B730BA-45EF-3DDF-9F8D-A490BAC731F4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ObsoleteAttribute
// Interface: _ObsoleteAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObsoleteAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E84307BE-3036-307A-ACC2-5D5DE8A006A8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OperatingSystem
// Interface: _OperatingSystem
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OperatingSystem
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9E230640-A5D0-30E1-B217-9D2B6CC0FC40}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OperationCanceledException
// Interface: _OperationCanceledException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OperationCanceledException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9DF9AF5A-7853-3D55-9B48-BD1F5D8367AB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OverflowException
// Interface: _OverflowException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OverflowException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {37C69A5D-7619-3A0F-A96B-9C9578AE00EF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ParamArrayAttribute
// Interface: _ParamArrayAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ParamArrayAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D54500AE-8CF4-3092-9054-90DC91AC65C9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PlatformNotSupportedException
// Interface: _PlatformNotSupportedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PlatformNotSupportedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1EB8340B-8190-3D9D-92F8-51244B9804C5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Random
// Interface: _Random
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Random
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0F240708-629A-31AB-94A5-2BB476FE1783}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RankException
// Interface: _RankException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RankException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {871DDC46-B68E-3FEE-A09A-C808B0F827E6}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ICustomAttributeProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B9B91146-D6C2-3A62-8159-C2D1794CDEB0}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICustomAttributeProviderDispT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                      TOLEBOOL inherit/*[in]*/, 
                                                      LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetCustomAttributes"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)attributeType /*[VT_USERDEFINED:1]*/;
  _args[2] = inherit /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ICustomAttributeProviderDispT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                                      TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICustomAttributeProviderDispT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                        LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetCustomAttributes_2"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = inherit /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ICustomAttributeProviderDispT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICustomAttributeProviderDispT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                            TOLEBOOL inherit/*[in]*/, 
                                            TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsDefined"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)attributeType /*[VT_USERDEFINED:1]*/;
  _args[2] = inherit /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
ICustomAttributeProviderDispT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                            TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_MemberInfo
// Interface: _MemberInfo
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                 long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                   unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                            unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                            long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                            long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_MemberInfoT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MemberInfoT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_MemberInfoT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MemberInfoT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_MemberInfoT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_MemberInfoT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MemberInfoT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MemberInfoT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                         TOLEBOOL inherit/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MemberInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                         TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MemberInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MemberInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                               TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MemberInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                               TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_Type
// Interface: _Type
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                           long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                             unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                             long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                      unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, long pDispParams/*[in]*/, 
                      long pVarResult/*[in]*/, long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_TypeT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_TypeT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_TypeT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_TypeT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                   TOLEBOOL inherit/*[in]*/, LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                   TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/, 
                         TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_Guid(TGUID* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Guid(pRetVal);
}

template <class T> TGUID __fastcall
TCOM_TypeT<T>::get_Guid(void)
{
  TGUID pRetVal;
  OLECHECK(this->get_Guid((TGUID*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_Module(Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Module(pRetVal);
}

template <class T> Mscorlib_tlb::_ModulePtr __fastcall
TCOM_TypeT<T>::get_Module(void)
{
  Mscorlib_tlb::_ModulePtr pRetVal;
  OLECHECK(this->get_Module((Mscorlib_tlb::_ModulePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_Assembly(Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Assembly(pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_TypeT<T>::get_Assembly(void)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->get_Assembly((Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_TypeHandle(Mscorlib_tlb::RuntimeTypeHandle* pRetVal/*[out,retval]*/)
{
  return (*this)->get_TypeHandle(pRetVal);
}

template <class T> Mscorlib_tlb::RuntimeTypeHandle __fastcall
TCOM_TypeT<T>::get_TypeHandle(void)
{
  Mscorlib_tlb::RuntimeTypeHandle pRetVal;
  OLECHECK(this->get_TypeHandle((Mscorlib_tlb::RuntimeTypeHandle*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_FullName(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_FullName(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_TypeT<T>::get_FullName(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_FullName((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_Namespace(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Namespace(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_TypeT<T>::get_Namespace(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_Namespace((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_AssemblyQualifiedName(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_AssemblyQualifiedName(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_TypeT<T>::get_AssemblyQualifiedName(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_AssemblyQualifiedName((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetArrayRank(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetArrayRank(pRetVal);
}

template <class T> long __fastcall
TCOM_TypeT<T>::GetArrayRank(void)
{
  long pRetVal;
  OLECHECK(this->GetArrayRank((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_BaseType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_BaseType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::get_BaseType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_BaseType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetConstructors(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                               LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetConstructors(bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetConstructors(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetConstructors(bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetInterface(BSTR name/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                            Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetInterface(name, ignoreCase, pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::GetInterface(BSTR name/*[in]*/, TOLEBOOL ignoreCase/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetInterface(name, ignoreCase, (Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetInterfaces(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetInterfaces(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetInterfaces(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetInterfaces((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::FindInterfaces(Mscorlib_tlb::_TypeFilterPtr filter/*[in]*/, 
                              TVariantInParam filterCriteria/*[in]*/, 
                              LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->FindInterfaces(filter, filterCriteria, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::FindInterfaces(Mscorlib_tlb::_TypeFilterPtr filter/*[in]*/, 
                              TVariantInParam filterCriteria/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->FindInterfaces(filter, filterCriteria, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetEvent(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                        Mscorlib_tlb::_EventInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetEvent(name, bindingAttr, pRetVal);
}

template <class T> Mscorlib_tlb::_EventInfoPtr __fastcall
TCOM_TypeT<T>::GetEvent(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_EventInfoPtr pRetVal;
  OLECHECK(this->GetEvent(name, bindingAttr, (Mscorlib_tlb::_EventInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetEvents(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetEvents(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetEvents(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetEvents((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetEvents_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetEvents_2(bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetEvents_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetEvents_2(bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetNestedTypes(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetNestedTypes(bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetNestedTypes(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetNestedTypes(bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetNestedType(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetNestedType(name, bindingAttr, pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::GetNestedType(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetNestedType(name, bindingAttr, (Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMember(BSTR name/*[in]*/, Mscorlib_tlb::MemberTypes Type/*[in]*/, 
                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                         LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMember(name, Type, bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetMember(BSTR name/*[in]*/, Mscorlib_tlb::MemberTypes Type/*[in]*/, 
                         Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetMember(name, Type, bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetDefaultMembers(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetDefaultMembers(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetDefaultMembers(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetDefaultMembers((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::FindMembers(Mscorlib_tlb::MemberTypes MemberType/*[in]*/, 
                           Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           Mscorlib_tlb::_MemberFilterPtr filter/*[in]*/, 
                           TVariantInParam filterCriteria/*[in]*/, 
                           LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->FindMembers(MemberType, bindingAttr, filter, filterCriteria, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::FindMembers(Mscorlib_tlb::MemberTypes MemberType/*[in]*/, 
                           Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           Mscorlib_tlb::_MemberFilterPtr filter/*[in]*/, 
                           TVariantInParam filterCriteria/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->FindMembers(MemberType, bindingAttr, filter, filterCriteria, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetElementType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetElementType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::GetElementType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetElementType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::IsSubclassOf(Mscorlib_tlb::_TypePtr c/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsSubclassOf(c, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::IsSubclassOf(Mscorlib_tlb::_TypePtr c/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsSubclassOf(c, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::IsInstanceOfType(TVariantInParam o/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsInstanceOfType(o, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::IsInstanceOfType(TVariantInParam o/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsInstanceOfType(o, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::IsAssignableFrom(Mscorlib_tlb::_TypePtr c/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsAssignableFrom(c, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::IsAssignableFrom(Mscorlib_tlb::_TypePtr c/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsAssignableFrom(c, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetInterfaceMap(Mscorlib_tlb::_TypePtr interfaceType/*[in]*/, 
                               Mscorlib_tlb::InterfaceMapping* pRetVal/*[out,retval]*/)
{
  return (*this)->GetInterfaceMap(interfaceType, pRetVal);
}

template <class T> Mscorlib_tlb::InterfaceMapping __fastcall
TCOM_TypeT<T>::GetInterfaceMap(Mscorlib_tlb::_TypePtr interfaceType/*[in]*/)
{
  Mscorlib_tlb::InterfaceMapping pRetVal;
  OLECHECK(this->GetInterfaceMap(interfaceType, (Mscorlib_tlb::InterfaceMapping*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethod(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                         Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                         LPSAFEARRAY modifiers/*[in]*/, 
                         Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethod(name, bindingAttr, Binder, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_TypeT<T>::GetMethod(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                         Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                         LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetMethod(name, bindingAttr, Binder, types, modifiers, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethod_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethod_2(name, bindingAttr, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_TypeT<T>::GetMethod_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetMethod_2(name, bindingAttr, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                          LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethods(bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetMethods(bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetField(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                        Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetField(name, bindingAttr, pRetVal);
}

template <class T> Mscorlib_tlb::_FieldInfoPtr __fastcall
TCOM_TypeT<T>::GetField(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_FieldInfoPtr pRetVal;
  OLECHECK(this->GetField(name, bindingAttr, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                         LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetFields(bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetFields(bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperty(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperty(name, bindingAttr, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_TypeT<T>::GetProperty(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->GetProperty(name, bindingAttr, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperty_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                             Mscorlib_tlb::_TypePtr returnType/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                             LPSAFEARRAY modifiers/*[in]*/, 
                             Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperty_2(name, bindingAttr, Binder, returnType, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_TypeT<T>::GetProperty_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                             Mscorlib_tlb::_TypePtr returnType/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                             LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->GetProperty_2(name, bindingAttr, Binder, returnType, types, modifiers, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperties(bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetProperties(bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMember_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMember_2(name, bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetMember_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetMember_2(name, bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                          LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMembers(bindingAttr, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetMembers(bindingAttr, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::InvokeMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, TVariantInParam Target/*[in]*/, 
                            LPSAFEARRAY args/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                            LPSAFEARRAY namedParameters/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->InvokeMember(name, invokeAttr, Binder, Target, args, modifiers, culture, 
                               namedParameters, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_TypeT<T>::InvokeMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, TVariantInParam Target/*[in]*/, 
                            LPSAFEARRAY args/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                            Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                            LPSAFEARRAY namedParameters/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->InvokeMember(name, invokeAttr, Binder, Target, args, modifiers, culture, 
                              namedParameters, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_UnderlyingSystemType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_UnderlyingSystemType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::get_UnderlyingSystemType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_UnderlyingSystemType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::InvokeMember_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                              TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->InvokeMember_2(name, invokeAttr, Binder, Target, args, culture, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_TypeT<T>::InvokeMember_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->InvokeMember_2(name, invokeAttr, Binder, Target, args, culture, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::InvokeMember_3(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                              TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->InvokeMember_3(name, invokeAttr, Binder, Target, args, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_TypeT<T>::InvokeMember_3(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->InvokeMember_3(name, invokeAttr, Binder, Target, args, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetConstructor(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                              LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                              Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetConstructor(bindingAttr, Binder, callConvention, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_ConstructorInfoPtr __fastcall
TCOM_TypeT<T>::GetConstructor(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                              LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_ConstructorInfoPtr pRetVal;
  OLECHECK(this->GetConstructor(bindingAttr, Binder, callConvention, types, modifiers, (Mscorlib_tlb::_ConstructorInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetConstructor_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                LPSAFEARRAY modifiers/*[in]*/, 
                                Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetConstructor_2(bindingAttr, Binder, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_ConstructorInfoPtr __fastcall
TCOM_TypeT<T>::GetConstructor_2(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_ConstructorInfoPtr pRetVal;
  OLECHECK(this->GetConstructor_2(bindingAttr, Binder, types, modifiers, (Mscorlib_tlb::_ConstructorInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetConstructor_3(LPSAFEARRAY types/*[in]*/, 
                                Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetConstructor_3(types, pRetVal);
}

template <class T> Mscorlib_tlb::_ConstructorInfoPtr __fastcall
TCOM_TypeT<T>::GetConstructor_3(LPSAFEARRAY types/*[in]*/)
{
  Mscorlib_tlb::_ConstructorInfoPtr pRetVal;
  OLECHECK(this->GetConstructor_3(types, (Mscorlib_tlb::_ConstructorInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetConstructors_2(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetConstructors_2(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetConstructors_2(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetConstructors_2((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_TypeInitializer(Mscorlib_tlb::_ConstructorInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_TypeInitializer(pRetVal);
}

template <class T> Mscorlib_tlb::_ConstructorInfoPtr __fastcall
TCOM_TypeT<T>::get_TypeInitializer(void)
{
  Mscorlib_tlb::_ConstructorInfoPtr pRetVal;
  OLECHECK(this->get_TypeInitializer((Mscorlib_tlb::_ConstructorInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethod_3(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                           Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                           LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                           Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethod_3(name, bindingAttr, Binder, callConvention, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_TypeT<T>::GetMethod_3(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                           Mscorlib_tlb::CallingConventions callConvention/*[in]*/, 
                           LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetMethod_3(name, bindingAttr, Binder, callConvention, types, modifiers, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethod_4(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                           LPSAFEARRAY modifiers/*[in]*/, 
                           Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethod_4(name, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_TypeT<T>::GetMethod_4(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                           LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetMethod_4(name, types, modifiers, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethod_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                           Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethod_5(name, types, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_TypeT<T>::GetMethod_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetMethod_5(name, types, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethod_6(BSTR name/*[in]*/, Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethod_6(name, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_TypeT<T>::GetMethod_6(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetMethod_6(name, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMethods_2(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethods_2(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetMethods_2(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetMethods_2((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetField_2(BSTR name/*[in]*/, Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetField_2(name, pRetVal);
}

template <class T> Mscorlib_tlb::_FieldInfoPtr __fastcall
TCOM_TypeT<T>::GetField_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_FieldInfoPtr pRetVal;
  OLECHECK(this->GetField_2(name, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetFields_2(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetFields_2(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetFields_2(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetFields_2((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetInterface_2(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetInterface_2(name, pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::GetInterface_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetInterface_2(name, (Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetEvent_2(BSTR name/*[in]*/, Mscorlib_tlb::_EventInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetEvent_2(name, pRetVal);
}

template <class T> Mscorlib_tlb::_EventInfoPtr __fastcall
TCOM_TypeT<T>::GetEvent_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_EventInfoPtr pRetVal;
  OLECHECK(this->GetEvent_2(name, (Mscorlib_tlb::_EventInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperty_3(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                             LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/, 
                             Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperty_3(name, returnType, types, modifiers, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_TypeT<T>::GetProperty_3(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                             LPSAFEARRAY types/*[in]*/, LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->GetProperty_3(name, returnType, types, modifiers, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperty_4(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                             LPSAFEARRAY types/*[in]*/, 
                             Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperty_4(name, returnType, types, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_TypeT<T>::GetProperty_4(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                             LPSAFEARRAY types/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->GetProperty_4(name, returnType, types, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperty_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                             Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperty_5(name, types, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_TypeT<T>::GetProperty_5(BSTR name/*[in]*/, LPSAFEARRAY types/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->GetProperty_5(name, types, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperty_6(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/, 
                             Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperty_6(name, returnType, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_TypeT<T>::GetProperty_6(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr returnType/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->GetProperty_6(name, returnType, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperty_7(BSTR name/*[in]*/, 
                             Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperty_7(name, pRetVal);
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
TCOM_TypeT<T>::GetProperty_7(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  OLECHECK(this->GetProperty_7(name, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetProperties_2(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProperties_2(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetProperties_2(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetProperties_2((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetNestedTypes_2(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetNestedTypes_2(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetNestedTypes_2(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetNestedTypes_2((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetNestedType_2(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetNestedType_2(name, pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_TypeT<T>::GetNestedType_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetNestedType_2(name, (Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMember_3(BSTR name/*[in]*/, LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMember_3(name, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetMember_3(BSTR name/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetMember_3(name, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::GetMembers_2(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMembers_2(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_TypeT<T>::GetMembers_2(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetMembers_2((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_Attributes(Mscorlib_tlb::TypeAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Attributes(pRetVal);
}

template <class T> Mscorlib_tlb::TypeAttributes __fastcall
TCOM_TypeT<T>::get_Attributes(void)
{
  Mscorlib_tlb::TypeAttributes pRetVal;
  OLECHECK(this->get_Attributes((Mscorlib_tlb::TypeAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsNotPublic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNotPublic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsNotPublic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNotPublic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPublic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsPublic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPublic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsNestedPublic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNestedPublic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsNestedPublic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNestedPublic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsNestedPrivate(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNestedPrivate(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsNestedPrivate(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNestedPrivate((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsNestedFamily(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNestedFamily(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsNestedFamily(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNestedFamily((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsNestedAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNestedAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsNestedAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNestedAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsNestedFamANDAssem(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNestedFamANDAssem(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsNestedFamANDAssem(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNestedFamANDAssem((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsNestedFamORAssem(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNestedFamORAssem(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsNestedFamORAssem(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNestedFamORAssem((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsAutoLayout(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAutoLayout(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsAutoLayout(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAutoLayout((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsLayoutSequential(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsLayoutSequential(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsLayoutSequential(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsLayoutSequential((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsExplicitLayout(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsExplicitLayout(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsExplicitLayout(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsExplicitLayout((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsClass(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsClass(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsClass(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsClass((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsInterface(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsInterface(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsInterface(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsInterface((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsValueType(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsValueType(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsValueType(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsValueType((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAbstract(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsAbstract(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAbstract((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsSealed(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSealed(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsSealed(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSealed((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsEnum(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsEnum(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsEnum(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsEnum((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSpecialName(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsSpecialName(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSpecialName((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsImport(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsImport(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsImport(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsImport((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsSerializable(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSerializable(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsSerializable(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSerializable((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsAnsiClass(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAnsiClass(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsAnsiClass(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAnsiClass((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsUnicodeClass(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsUnicodeClass(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsUnicodeClass(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsUnicodeClass((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsAutoClass(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAutoClass(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsAutoClass(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAutoClass((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsArray(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsArray(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsArray(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsArray((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsByRef(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsByRef(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsByRef(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsByRef((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsPointer(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPointer(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsPointer(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPointer((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsPrimitive(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPrimitive(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsPrimitive(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPrimitive((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsCOMObject(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsCOMObject(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsCOMObject(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsCOMObject((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_HasElementType(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_HasElementType(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_HasElementType(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_HasElementType((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsContextful(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsContextful(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsContextful(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsContextful((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::get_IsMarshalByRef(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsMarshalByRef(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::get_IsMarshalByRef(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsMarshalByRef((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_TypeT<T>::Equals_2(Mscorlib_tlb::_TypePtr o/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals_2(o, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_TypeT<T>::Equals_2(Mscorlib_tlb::_TypePtr o/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals_2(o, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IReflect
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AFBF15E5-C37C-11D2-B88E-00A0C9B471B8}
// *********************************************************************//
template <class T> HRESULT __fastcall
IReflectDispT<T>::GetMethod(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                            LPSAFEARRAY modifiers/*[in]*/, 
                            Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMethod"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<5> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::_Binder*)Binder /*[VT_USERDEFINED:1]*/;
  _args[4] = types /*[VT_SAFEARRAY:0]*/;
  _args[5] = modifiers /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
IReflectDispT<T>::GetMethod(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                            Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                            LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  this->GetMethod(name, bindingAttr, Binder, types, modifiers, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetMethod_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMethod_2"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
IReflectDispT<T>::GetMethod_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  this->GetMethod_2(name, bindingAttr, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMethods"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IReflectDispT<T>::GetMethods(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetMethods(bindingAttr, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetField(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                           Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetField"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_FieldInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_FieldInfoPtr __fastcall
IReflectDispT<T>::GetField(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_FieldInfoPtr pRetVal;
  this->GetField(name, bindingAttr, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                            LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetFields"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IReflectDispT<T>::GetFields(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetFields(bindingAttr, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetProperty(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                              Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetProperty"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_PropertyInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
IReflectDispT<T>::GetProperty(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  this->GetProperty(name, bindingAttr, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetProperty_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                Mscorlib_tlb::_TypePtr returnType/*[in]*/, LPSAFEARRAY types/*[in]*/
                                , LPSAFEARRAY modifiers/*[in]*/, 
                                Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetProperty_2"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<6> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::_Binder*)Binder /*[VT_USERDEFINED:1]*/;
  _args[4] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)returnType /*[VT_USERDEFINED:1]*/;
  _args[5] = types /*[VT_SAFEARRAY:0]*/;
  _args[6] = modifiers /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_PropertyInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
IReflectDispT<T>::GetProperty_2(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                Mscorlib_tlb::_TypePtr returnType/*[in]*/, LPSAFEARRAY types/*[in]*/, 
                                LPSAFEARRAY modifiers/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  this->GetProperty_2(name, bindingAttr, Binder, returnType, types, modifiers, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetProperties"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IReflectDispT<T>::GetProperties(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetProperties(bindingAttr, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                            LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMember"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IReflectDispT<T>::GetMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetMember(name, bindingAttr, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                             LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMembers"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<1> _args;
  _args[1] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IReflectDispT<T>::GetMembers(Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetMembers(bindingAttr, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::InvokeMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                               Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                               TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                               LPSAFEARRAY modifiers/*[in]*/, 
                               Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                               LPSAFEARRAY namedParameters/*[in]*/, 
                               TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InvokeMember"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<8> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)invokeAttr /*[VT_USERDEFINED:0]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::_Binder*)Binder /*[VT_USERDEFINED:1]*/;
  _args[4] = Target /*[VT_VARIANT:0]*/;
  _args[5] = args /*[VT_SAFEARRAY:0]*/;
  _args[6] = modifiers /*[VT_SAFEARRAY:0]*/;
  _args[7] = (LPDISPATCH)(Mscorlib_tlb::_CultureInfo*)culture /*[VT_USERDEFINED:1]*/;
  _args[8] = namedParameters /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IReflectDispT<T>::InvokeMember(BSTR name/*[in]*/, Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                               Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                               TVariantInParam Target/*[in]*/, LPSAFEARRAY args/*[in]*/, 
                               LPSAFEARRAY modifiers/*[in]*/, 
                               Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                               LPSAFEARRAY namedParameters/*[in]*/)
{
  TVariant pRetVal;
  this->InvokeMember(name, invokeAttr, Binder, Target, args, modifiers, culture, namedParameters, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IReflectDispT<T>::get_UnderlyingSystemType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UnderlyingSystemType"), DISPID(DISPID_UNKNOWN/*[1610743819]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
IReflectDispT<T>::get_UnderlyingSystemType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->get_UnderlyingSystemType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_SerializableAttribute
// Interface: _SerializableAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SerializableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1B96E53C-4028-38BC-9DC3-8D7A9555C311}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TimeoutException
// Interface: _TimeoutException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TimeoutException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7AB88CA9-17F4-385E-AD41-4EE0AA316FA1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeInitializationException
// Interface: _TypeInitializationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeInitializationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FEB0323D-8CE4-36A4-A41E-0BA0C32E1A6A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnauthorizedAccessException
// Interface: _UnauthorizedAccessException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnauthorizedAccessException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6193C5F6-6807-3561-A7F3-B64C80B5F00F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnhandledExceptionEventArgs
// Interface: _UnhandledExceptionEventArgs
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnhandledExceptionEventArgs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A218E20A-0905-3741-B0B3-9E3193162E50}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnhandledExceptionEventHandler
// Interface: _UnhandledExceptionEventHandler
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnhandledExceptionEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {84199E64-439C-3011-B249-3C9065735ADB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Version
// Interface: _Version
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Version
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {011A90C5-4910-3C29-BBB7-50D05CCBAA4A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WeakReference
// Interface: _WeakReference
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WeakReference
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C5DF3568-C251-3C58-AFB4-32E79E8261F0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WaitHandle
// Interface: _WaitHandle
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WaitHandle
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {40DFC50A-E93A-3C08-B9EF-E2B4F28B5676}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_EventWaitHandle
// Interface: _EventWaitHandle
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EventWaitHandle
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E142DB4A-1A52-34CE-965E-13AFFD5447D0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AutoResetEvent
// Interface: _AutoResetEvent
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AutoResetEvent
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3F243EBD-612F-3DB8-9E03-BD92343A8371}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ContextCallback
// Interface: _ContextCallback
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ContextCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {56D201F1-3E5D-39D9-B5DE-064710818905}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ManualResetEvent
// Interface: _ManualResetEvent
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ManualResetEvent
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C0BB9361-268F-3E72-BF6F-4120175A1500}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Monitor
// Interface: _Monitor
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Monitor
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EE22485E-4C45-3C9D-9027-A8D61C5F53F2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Mutex
// Interface: _Mutex
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Mutex
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {36CB559B-87C6-3AD2-9225-62A7ED499B37}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Overlapped
// Interface: _Overlapped
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Overlapped
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DD846FCC-8D04-3665-81B6-AACBE99C19C3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ReaderWriterLock
// Interface: _ReaderWriterLock
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ReaderWriterLock
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AD89B568-4FD4-3F8D-8327-B396B20A460E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SynchronizationLockException
// Interface: _SynchronizationLockException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SynchronizationLockException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {87F55344-17E0-30FD-8EB9-38EAF6A19B3F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ThreadAbortException
// Interface: _ThreadAbortException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ThreadAbortException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {95B525DB-6B81-3CDC-8FE7-713F7FC793C0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ThreadInterruptedException
// Interface: _ThreadInterruptedException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ThreadInterruptedException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B9E07599-7C44-33BE-A70E-EFA16F51F54A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RegisteredWaitHandle
// Interface: _RegisteredWaitHandle
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RegisteredWaitHandle
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {64409425-F8C9-370E-809E-3241CE804541}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WaitCallback
// Interface: _WaitCallback
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WaitCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CE949142-4D4C-358D-89A9-E69A531AA363}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WaitOrTimerCallback
// Interface: _WaitOrTimerCallback
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WaitOrTimerCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F078F795-F452-3D2D-8CC8-16D66AE46C67}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IOCompletionCallback
// Interface: _IOCompletionCallback
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IOCompletionCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BBAE942D-BFF4-36E2-A3BC-508BB3801F4F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ThreadStart
// Interface: _ThreadStart
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ThreadStart
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B45BBD7E-A977-3F56-A626-7A693E5DBBC5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ThreadStateException
// Interface: _ThreadStateException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ThreadStateException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A13A41CF-E066-3B90-82F4-73109104E348}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ThreadStaticAttribute
// Interface: _ThreadStaticAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ThreadStaticAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A6B94B6D-854E-3172-A4EC-A17EDD16F85E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Timeout
// Interface: _Timeout
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Timeout
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {81456E86-22AF-31D1-A91A-9C370C0E2530}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TimerCallback
// Interface: _TimerCallback
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TimerCallback
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3741BC6F-101B-36D7-A9D5-03FCC0ECDA35}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Timer
// Interface: _Timer
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Timer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B49A029B-406B-3B1E-88E4-F86690D20364}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_STAThreadAttribute
// Interface: _STAThreadAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _STAThreadAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {85D72F83-BE91-3CB1-B4F0-76B56FF04033}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MTAThreadAttribute
// Interface: _MTAThreadAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MTAThreadAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C02468D1-8713-3225-BDA3-49B2FE37DDBB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ArrayList
// Interface: _ArrayList
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ArrayList
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {401F89CB-C127-3041-82FD-B67035395C56}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BitArray
// Interface: _BitArray
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BitArray
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F145C46A-D170-3170-B52F-4678DFCA0300}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CaseInsensitiveComparer
// Interface: _CaseInsensitiveComparer
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CaseInsensitiveComparer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EA6795AC-97D6-3377-BE64-829ABD67607B}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IHashCodeProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {5D573036-3435-3C5A-AEFF-2B8191082C71}
// *********************************************************************//
template <class T> HRESULT __fastcall
IHashCodeProviderDispT<T>::GetHashCode(TVariantInParam obj/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IHashCodeProviderDispT<T>::GetHashCode(TVariantInParam obj/*[in]*/)
{
  long pRetVal;
  this->GetHashCode(obj, (long*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_CaseInsensitiveHashCodeProvider
// Interface: _CaseInsensitiveHashCodeProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CaseInsensitiveHashCodeProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0422B845-B636-3688-8F61-9B6D93096336}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CollectionBase
// Interface: _CollectionBase
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CollectionBase
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B7D29E26-7798-3FA4-90F4-E6A22D2099F9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Comparer
// Interface: _Comparer
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Comparer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8064A157-B5C8-3A4A-AD3D-02DC1A39C417}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IDictionary
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6A6841DF-3287-3D87-8060-CE0B4C77D2A1}
// *********************************************************************//
template <class T> HRESULT __fastcall
IDictionaryDispT<T>::get_Item(TVariantInParam key/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IDictionaryDispT<T>::get_Item(TVariantInParam key/*[in]*/)
{
  TVariant pRetVal;
  this->get_Item(key, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::_set_Item(TVariantInParam key/*[in]*/, TVariantInParam pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<2> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  _args[2] = pRetVal /*[VT_VARIANT:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::get_Keys(Mscorlib_tlb::ICollectionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Keys"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ICollection**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::ICollectionPtr __fastcall
IDictionaryDispT<T>::get_Keys(void)
{
  Mscorlib_tlb::ICollectionPtr pRetVal;
  this->get_Keys((Mscorlib_tlb::ICollectionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::get_Values(Mscorlib_tlb::ICollectionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Values"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ICollection**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::ICollectionPtr __fastcall
IDictionaryDispT<T>::get_Values(void)
{
  Mscorlib_tlb::ICollectionPtr pRetVal;
  this->get_Values((Mscorlib_tlb::ICollectionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::Contains(TVariantInParam key/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Contains"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IDictionaryDispT<T>::Contains(TVariantInParam key/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Contains(key, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::Add(TVariantInParam key/*[in]*/, TVariantInParam value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Add"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<2> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  _args[2] = value /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::Clear()
{
  _TDispID _dispid(*this, OLETEXT("Clear"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::get_IsReadOnly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsReadOnly"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IDictionaryDispT<T>::get_IsReadOnly(void)
{
  TOLEBOOL pRetVal;
  this->get_IsReadOnly((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::get_IsFixedSize(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsFixedSize"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IDictionaryDispT<T>::get_IsFixedSize(void)
{
  TOLEBOOL pRetVal;
  this->get_IsFixedSize((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::GetEnumerator(Mscorlib_tlb::IDictionaryEnumeratorPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetEnumerator"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IDictionaryEnumerator**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IDictionaryEnumeratorPtr __fastcall
IDictionaryDispT<T>::GetEnumerator(void)
{
  Mscorlib_tlb::IDictionaryEnumeratorPtr pRetVal;
  this->GetEnumerator((Mscorlib_tlb::IDictionaryEnumeratorPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryDispT<T>::Remove(TVariantInParam key/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Remove"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<1> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_DictionaryBase
// Interface: _DictionaryBase
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DictionaryBase
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DDD44DA2-BC6B-3620-9317-C0372968C741}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IDictionaryEnumerator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {35D574BF-7A4F-3588-8C19-12212A0FE4DC}
// *********************************************************************//
template <class T> HRESULT __fastcall
IDictionaryEnumeratorDispT<T>::get_key(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("key"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IDictionaryEnumeratorDispT<T>::get_key(void)
{
  TVariant pRetVal;
  this->get_key((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryEnumeratorDispT<T>::get_value(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("value"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IDictionaryEnumeratorDispT<T>::get_value(void)
{
  TVariant pRetVal;
  this->get_value((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IDictionaryEnumeratorDispT<T>::get_Entry(/*AUTO_PARAM_ERROR(Mscorlib_tlb::DictionaryEntry* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("Entry"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

// *********************************************************************//
// DispIntf:  IDeserializationCallback
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AB3F47E4-C227-3B05-BF9F-94649BEF9888}
// *********************************************************************//
template <class T> HRESULT __fastcall
IDeserializationCallbackDispT<T>::OnDeserialization(TVariantInParam sender/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OnDeserialization"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = sender /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_Hashtable
// Interface: _Hashtable
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Hashtable
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D25A197E-3E69-3271-A989-23D85E97F920}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Queue
// Interface: _Queue
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Queue
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3A7D3CA4-B7D1-3A2A-800C-8FC2ACFCBDA4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ReadOnlyCollectionBase
// Interface: _ReadOnlyCollectionBase
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ReadOnlyCollectionBase
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BD32D878-A59B-3E5C-BFE0-A96B1A1E9D6F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SortedList
// Interface: _SortedList
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SortedList
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {56421139-A143-3AE9-9852-1DBDFE3D6BFA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Stack
// Interface: _Stack
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Stack
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AB538809-3C2F-35D9-80E6-7BAD540484A1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Nullable
// Interface: _Nullable
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Nullable
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {84E7AC09-795A-3EA9-A36A-5B81EBAB0558}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeyNotFoundException
// Interface: _KeyNotFoundException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeyNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8039C41F-4399-38A2-99B7-D234B5CF7A7B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ConditionalAttribute
// Interface: _ConditionalAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ConditionalAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E40A025C-645B-3C8E-A1AC-9C5CCA279625}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Debugger
// Interface: _Debugger
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Debugger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9B4786C-08E3-344F-A651-2F9926DEAC5E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerStepThroughAttribute
// Interface: _DebuggerStepThroughAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerStepThroughAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3344E8B4-A5C3-3882-8D30-63792485ECCF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerStepperBoundaryAttribute
// Interface: _DebuggerStepperBoundaryAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerStepperBoundaryAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B3276180-B23E-3034-B18F-E0122BA4E4CF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerHiddenAttribute
// Interface: _DebuggerHiddenAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerHiddenAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {55B6903B-55FE-35E0-804F-E42A096D2EB0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerNonUserCodeAttribute
// Interface: _DebuggerNonUserCodeAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerNonUserCodeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CC6DCAFD-0185-308A-891C-83812FE574E7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggableAttribute
// Interface: _DebuggableAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {428E3627-2B1F-302C-A7E6-6388CD535E75}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerBrowsableAttribute
// Interface: _DebuggerBrowsableAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerBrowsableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A3FC6319-7355-3D7D-8621-B598561152FC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerTypeProxyAttribute
// Interface: _DebuggerTypeProxyAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerTypeProxyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {404FAFDD-1E3F-3602-BFF6-755C00613ED8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerDisplayAttribute
// Interface: _DebuggerDisplayAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerDisplayAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {22FDABC0-EEC7-33E0-B4F2-F3B739E19A5E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DebuggerVisualizerAttribute
// Interface: _DebuggerVisualizerAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DebuggerVisualizerAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E19EA1A2-67FF-31A5-B95C-E0B753403F6B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StackTrace
// Interface: _StackTrace
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StackTrace
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9A2669EC-FF84-3726-89A0-663A3EF3B5CD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StackFrame
// Interface: _StackFrame
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StackFrame
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0E9B8E47-CA67-38B6-B9DB-2C42EE757B08}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ISymbolBinder
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {20808ADC-CC01-3F3A-8F09-ED12940FC212}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolBinderDispT<T>::GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                 BSTR searchPath/*[in]*/, 
                                 Mscorlib_tlb::ISymbolReaderPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetReader"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = importer /*[VT_I4:0]*/;
  _args[2] = filename /*[VT_BSTR:0]*/;
  _args[3] = searchPath /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolReader**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolReaderPtr __fastcall
ISymbolBinderDispT<T>::GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                 BSTR searchPath/*[in]*/)
{
  Mscorlib_tlb::ISymbolReaderPtr pRetVal;
  this->GetReader(importer, filename, searchPath, (Mscorlib_tlb::ISymbolReaderPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolBinder1
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {027C036A-4052-3821-85DE-B53319DF1211}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolBinder1DispT<T>::GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                  BSTR searchPath/*[in]*/, 
                                  Mscorlib_tlb::ISymbolReaderPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetReader"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = importer /*[VT_I4:0]*/;
  _args[2] = filename /*[VT_BSTR:0]*/;
  _args[3] = searchPath /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolReader**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolReaderPtr __fastcall
ISymbolBinder1DispT<T>::GetReader(long importer/*[in]*/, BSTR filename/*[in]*/, 
                                  BSTR searchPath/*[in]*/)
{
  Mscorlib_tlb::ISymbolReaderPtr pRetVal;
  this->GetReader(importer, filename, searchPath, (Mscorlib_tlb::ISymbolReaderPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolDocument
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1C32F012-2684-3EFE-8D50-9C2973ACC00B}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::get_Url(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Url"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ISymbolDocumentDispT<T>::get_Url(void)
{
  BSTR pRetVal;
  this->get_Url((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::get_DocumentType(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("DocumentType"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::get_Language(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("Language"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::get_LanguageVendor(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("LanguageVendor"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::get_CheckSumAlgorithmId(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("CheckSumAlgorithmId"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::GetCheckSum(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetCheckSum"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolDocumentDispT<T>::GetCheckSum(void)
{
  LPSAFEARRAY pRetVal;
  this->GetCheckSum((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::FindClosestLine(long line/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FindClosestLine"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<1> _args;
  _args[1] = line /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ISymbolDocumentDispT<T>::FindClosestLine(long line/*[in]*/)
{
  long pRetVal;
  this->FindClosestLine(line, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::get_HasEmbeddedSource(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasEmbeddedSource"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
ISymbolDocumentDispT<T>::get_HasEmbeddedSource(void)
{
  TOLEBOOL pRetVal;
  this->get_HasEmbeddedSource((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::get_SourceLength(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SourceLength"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolDocumentDispT<T>::get_SourceLength(void)
{
  long pRetVal;
  this->get_SourceLength((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolDocumentDispT<T>::GetSourceRange(long startLine/*[in]*/, long startColumn/*[in]*/, 
                                        long endLine/*[in]*/, long endColumn/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSourceRange"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<4> _args;
  _args[1] = startLine /*[VT_I4:0]*/;
  _args[2] = startColumn /*[VT_I4:0]*/;
  _args[3] = endLine /*[VT_I4:0]*/;
  _args[4] = endColumn /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolDocumentDispT<T>::GetSourceRange(long startLine/*[in]*/, long startColumn/*[in]*/, 
                                        long endLine/*[in]*/, long endColumn/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetSourceRange(startLine, startColumn, endLine, endColumn, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolDocumentWriter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FA682F24-3A3C-390D-B8A2-96F1106F4B37}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolDocumentWriterDispT<T>::SetSource(LPSAFEARRAY Source/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetSource"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = Source /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolDocumentWriterDispT<T>::SetCheckSum(/*AUTO_PARAM_ERROR(TGUID algorithmId)*/ TVariant&  algorithmId
                                           , LPSAFEARRAY checkSum/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetCheckSum"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = algorithmId /*[VT_USERDEFINED:0]*/;
  _args[2] = checkSum /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ISymbolMethod
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {25C72EB0-E437-3F17-946D-3B72A3ACFF37}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::get_Token(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("Token"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::get_SequencePointCount(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SequencePointCount"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolMethodDispT<T>::get_SequencePointCount(void)
{
  long pRetVal;
  this->get_SequencePointCount((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::GetSequencePoints(LPSAFEARRAY offsets/*[in]*/, LPSAFEARRAY documents/*[in]*/
                                         , LPSAFEARRAY lines/*[in]*/, LPSAFEARRAY columns/*[in]*/, 
                                         LPSAFEARRAY endLines/*[in]*/, 
                                         LPSAFEARRAY endColumns/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSequencePoints"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<6> _args;
  _args[1] = offsets /*[VT_SAFEARRAY:0]*/;
  _args[2] = documents /*[VT_SAFEARRAY:0]*/;
  _args[3] = lines /*[VT_SAFEARRAY:0]*/;
  _args[4] = columns /*[VT_SAFEARRAY:0]*/;
  _args[5] = endLines /*[VT_SAFEARRAY:0]*/;
  _args[6] = endColumns /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::get_RootScope(Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RootScope"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolScope**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolScopePtr __fastcall
ISymbolMethodDispT<T>::get_RootScope(void)
{
  Mscorlib_tlb::ISymbolScopePtr pRetVal;
  this->get_RootScope((Mscorlib_tlb::ISymbolScopePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::GetScope(long offset/*[in]*/, 
                                Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetScope"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = offset /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolScope**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolScopePtr __fastcall
ISymbolMethodDispT<T>::GetScope(long offset/*[in]*/)
{
  Mscorlib_tlb::ISymbolScopePtr pRetVal;
  this->GetScope(offset, (Mscorlib_tlb::ISymbolScopePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::GetOffset(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                 long line/*[in]*/, long column/*[in]*/, 
                                 long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetOffset"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISymbolDocument*)document /*[VT_USERDEFINED:1]*/;
  _args[2] = line /*[VT_I4:0]*/;
  _args[3] = column /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ISymbolMethodDispT<T>::GetOffset(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                 long line/*[in]*/, long column/*[in]*/)
{
  long pRetVal;
  this->GetOffset(document, line, column, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::GetRanges(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                 long line/*[in]*/, long column/*[in]*/, 
                                 LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetRanges"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISymbolDocument*)document /*[VT_USERDEFINED:1]*/;
  _args[2] = line /*[VT_I4:0]*/;
  _args[3] = column /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolMethodDispT<T>::GetRanges(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                 long line/*[in]*/, long column/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetRanges(document, line, column, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetParameters"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolMethodDispT<T>::GetParameters(void)
{
  LPSAFEARRAY pRetVal;
  this->GetParameters((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::GetNamespace(Mscorlib_tlb::ISymbolNamespacePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetNamespace"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolNamespace**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolNamespacePtr __fastcall
ISymbolMethodDispT<T>::GetNamespace(void)
{
  Mscorlib_tlb::ISymbolNamespacePtr pRetVal;
  this->GetNamespace((Mscorlib_tlb::ISymbolNamespacePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolMethodDispT<T>::GetSourceStartEnd(LPSAFEARRAY docs/*[in]*/, LPSAFEARRAY lines/*[in]*/, 
                                         LPSAFEARRAY columns/*[in]*/, 
                                         TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSourceStartEnd"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<3> _args;
  _args[1] = docs /*[VT_SAFEARRAY:0]*/;
  _args[2] = lines /*[VT_SAFEARRAY:0]*/;
  _args[3] = columns /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
ISymbolMethodDispT<T>::GetSourceStartEnd(LPSAFEARRAY docs/*[in]*/, LPSAFEARRAY lines/*[in]*/, 
                                         LPSAFEARRAY columns/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->GetSourceStartEnd(docs, lines, columns, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolNamespace
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {23ED2454-6899-3C28-BAB7-6EC86683964A}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolNamespaceDispT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("name"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ISymbolNamespaceDispT<T>::get_name(void)
{
  BSTR pRetVal;
  this->get_name((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolNamespaceDispT<T>::GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetNamespaces"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolNamespaceDispT<T>::GetNamespaces(void)
{
  LPSAFEARRAY pRetVal;
  this->GetNamespaces((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolNamespaceDispT<T>::GetVariables(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetVariables"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolNamespaceDispT<T>::GetVariables(void)
{
  LPSAFEARRAY pRetVal;
  this->GetVariables((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolReader
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E809A5F1-D3D7-3144-9BEF-FE8AC0364699}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetDocument(BSTR Url/*[in]*/, 
                                   /*AUTO_PARAM_ERROR(TGUID Language)*/ TVariant&  Language, 
                                   /*AUTO_PARAM_ERROR(TGUID LanguageVendor)*/ TVariant&  LanguageVendor
                                   , 
                                   /*AUTO_PARAM_ERROR(TGUID DocumentType)*/ TVariant&  DocumentType
                                   , Mscorlib_tlb::ISymbolDocumentPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetDocument"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<4> _args;
  _args[1] = Url /*[VT_BSTR:0]*/;
  _args[2] = Language /*[VT_USERDEFINED:0]*/;
  _args[3] = LanguageVendor /*[VT_USERDEFINED:0]*/;
  _args[4] = DocumentType /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolDocument**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetDocuments(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetDocuments"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolReaderDispT<T>::GetDocuments(void)
{
  LPSAFEARRAY pRetVal;
  this->GetDocuments((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::get_UserEntryPoint(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("UserEntryPoint"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetMethod(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken Method)*/ TVariant&  Method
                                 , Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMethod"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = Method /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolMethod**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetMethod_2(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken Method)*/ TVariant&  Method
                                   , long Version/*[in]*/, 
                                   Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMethod_2"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<2> _args;
  _args[1] = Method /*[VT_USERDEFINED:0]*/;
  _args[2] = Version /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolMethod**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetVariables(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                    , LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetVariables"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<1> _args;
  _args[1] = parent /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetGlobalVariables(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetGlobalVariables"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolReaderDispT<T>::GetGlobalVariables(void)
{
  LPSAFEARRAY pRetVal;
  this->GetGlobalVariables((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetMethodFromDocumentPosition(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/
                                                     , long line/*[in]*/, long column/*[in]*/, 
                                                     Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetMethodFromDocumentPosition"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISymbolDocument*)document /*[VT_USERDEFINED:1]*/;
  _args[2] = line /*[VT_I4:0]*/;
  _args[3] = column /*[VT_I4:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolMethod**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolMethodPtr __fastcall
ISymbolReaderDispT<T>::GetMethodFromDocumentPosition(Mscorlib_tlb::ISymbolDocumentPtr document/*[in]*/, 
                                                     long line/*[in]*/, long column/*[in]*/)
{
  Mscorlib_tlb::ISymbolMethodPtr pRetVal;
  this->GetMethodFromDocumentPosition(document, line, column, (Mscorlib_tlb::ISymbolMethodPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetSymAttribute(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                       , BSTR name/*[in]*/, LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSymAttribute"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<2> _args;
  _args[1] = parent /*[VT_USERDEFINED:0]*/;
  _args[2] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolReaderDispT<T>::GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetNamespaces"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolReaderDispT<T>::GetNamespaces(void)
{
  LPSAFEARRAY pRetVal;
  this->GetNamespaces((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolScope
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1CEE3A11-01AE-3244-A939-4972FC9703EF}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolScopeDispT<T>::get_Method(Mscorlib_tlb::ISymbolMethodPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Method"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolMethod**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolMethodPtr __fastcall
ISymbolScopeDispT<T>::get_Method(void)
{
  Mscorlib_tlb::ISymbolMethodPtr pRetVal;
  this->get_Method((Mscorlib_tlb::ISymbolMethodPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolScopeDispT<T>::get_parent(Mscorlib_tlb::ISymbolScopePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("parent"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolScope**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISymbolScopePtr __fastcall
ISymbolScopeDispT<T>::get_parent(void)
{
  Mscorlib_tlb::ISymbolScopePtr pRetVal;
  this->get_parent((Mscorlib_tlb::ISymbolScopePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolScopeDispT<T>::GetChildren(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetChildren"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolScopeDispT<T>::GetChildren(void)
{
  LPSAFEARRAY pRetVal;
  this->GetChildren((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolScopeDispT<T>::get_StartOffset(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartOffset"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolScopeDispT<T>::get_StartOffset(void)
{
  long pRetVal;
  this->get_StartOffset((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolScopeDispT<T>::get_EndOffset(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndOffset"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolScopeDispT<T>::get_EndOffset(void)
{
  long pRetVal;
  this->get_EndOffset((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolScopeDispT<T>::GetLocals(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetLocals"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolScopeDispT<T>::GetLocals(void)
{
  LPSAFEARRAY pRetVal;
  this->GetLocals((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolScopeDispT<T>::GetNamespaces(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetNamespaces"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolScopeDispT<T>::GetNamespaces(void)
{
  LPSAFEARRAY pRetVal;
  this->GetNamespaces((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolVariable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4042BD4D-B5AB-30E8-919B-14910687BAAE}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("name"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ISymbolVariableDispT<T>::get_name(void)
{
  BSTR pRetVal;
  this->get_name((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_Attributes(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Attributes"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
ISymbolVariableDispT<T>::get_Attributes(void)
{
  TVariant pRetVal;
  this->get_Attributes((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::GetSignature(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSignature"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISymbolVariableDispT<T>::GetSignature(void)
{
  LPSAFEARRAY pRetVal;
  this->GetSignature((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_AddressKind(Mscorlib_tlb::SymAddressKind* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressKind"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::SymAddressKind __fastcall
ISymbolVariableDispT<T>::get_AddressKind(void)
{
  Mscorlib_tlb::SymAddressKind pRetVal;
  this->get_AddressKind((Mscorlib_tlb::SymAddressKind*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_AddressField1(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressField1"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolVariableDispT<T>::get_AddressField1(void)
{
  long pRetVal;
  this->get_AddressField1((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_AddressField2(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressField2"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolVariableDispT<T>::get_AddressField2(void)
{
  long pRetVal;
  this->get_AddressField2((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_AddressField3(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddressField3"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolVariableDispT<T>::get_AddressField3(void)
{
  long pRetVal;
  this->get_AddressField3((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_StartOffset(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartOffset"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolVariableDispT<T>::get_StartOffset(void)
{
  long pRetVal;
  this->get_StartOffset((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolVariableDispT<T>::get_EndOffset(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EndOffset"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ISymbolVariableDispT<T>::get_EndOffset(void)
{
  long pRetVal;
  this->get_EndOffset((long*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISymbolWriter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {DA295A1B-C5BD-3B34-8ACD-1D7D334FFB7F}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::Initialize(long emitter/*[in]*/, BSTR filename/*[in]*/, 
                                  TOLEBOOL fFullBuild/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Initialize"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = emitter /*[VT_I4:0]*/;
  _args[2] = filename /*[VT_BSTR:0]*/;
  _args[3] = fFullBuild /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::DefineDocument(BSTR Url/*[in]*/, 
                                      /*AUTO_PARAM_ERROR(TGUID Language)*/ TVariant&  Language, 
                                      /*AUTO_PARAM_ERROR(TGUID LanguageVendor)*/ TVariant&  LanguageVendor
                                      , 
                                      /*AUTO_PARAM_ERROR(TGUID DocumentType)*/ TVariant&  DocumentType
                                      , 
                                      Mscorlib_tlb::ISymbolDocumentWriterPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefineDocument"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<4> _args;
  _args[1] = Url /*[VT_BSTR:0]*/;
  _args[2] = Language /*[VT_USERDEFINED:0]*/;
  _args[3] = LanguageVendor /*[VT_USERDEFINED:0]*/;
  _args[4] = DocumentType /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISymbolDocumentWriter**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::SetUserEntryPoint(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken entryMethod)*/ TVariant&  entryMethod)
{
  _TDispID _dispid(*this, OLETEXT("SetUserEntryPoint"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = entryMethod /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::OpenMethod(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken Method)*/ TVariant&  Method)
{
  _TDispID _dispid(*this, OLETEXT("OpenMethod"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = Method /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::CloseMethod()
{
  _TDispID _dispid(*this, OLETEXT("CloseMethod"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::DefineSequencePoints(Mscorlib_tlb::ISymbolDocumentWriterPtr document/*[in]*/
                                            , LPSAFEARRAY offsets/*[in]*/, LPSAFEARRAY lines/*[in]*/
                                            , LPSAFEARRAY columns/*[in]*/, 
                                            LPSAFEARRAY endLines/*[in]*/, 
                                            LPSAFEARRAY endColumns/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefineSequencePoints"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<6> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISymbolDocumentWriter*)document /*[VT_USERDEFINED:1]*/;
  _args[2] = offsets /*[VT_SAFEARRAY:0]*/;
  _args[3] = lines /*[VT_SAFEARRAY:0]*/;
  _args[4] = columns /*[VT_SAFEARRAY:0]*/;
  _args[5] = endLines /*[VT_SAFEARRAY:0]*/;
  _args[6] = endColumns /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::OpenScope(long StartOffset/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenScope"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<1> _args;
  _args[1] = StartOffset /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ISymbolWriterDispT<T>::OpenScope(long StartOffset/*[in]*/)
{
  long pRetVal;
  this->OpenScope(StartOffset, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::CloseScope(long EndOffset/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CloseScope"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = EndOffset /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::SetScopeRange(long scopeID/*[in]*/, long StartOffset/*[in]*/, 
                                     long EndOffset/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetScopeRange"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<3> _args;
  _args[1] = scopeID /*[VT_I4:0]*/;
  _args[2] = StartOffset /*[VT_I4:0]*/;
  _args[3] = EndOffset /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::DefineLocalVariable(BSTR name/*[in]*/, 
                                           Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                           LPSAFEARRAY signature/*[in]*/, 
                                           Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                           long addr1/*[in]*/, long addr2/*[in]*/, 
                                           long addr3/*[in]*/, long StartOffset/*[in]*/, 
                                           long EndOffset/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefineLocalVariable"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<9> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)Attributes /*[VT_USERDEFINED:0]*/;
  _args[3] = signature /*[VT_SAFEARRAY:0]*/;
  _args[4] = (int)addrKind /*[VT_USERDEFINED:0]*/;
  _args[5] = addr1 /*[VT_I4:0]*/;
  _args[6] = addr2 /*[VT_I4:0]*/;
  _args[7] = addr3 /*[VT_I4:0]*/;
  _args[8] = StartOffset /*[VT_I4:0]*/;
  _args[9] = EndOffset /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::DefineParameter(BSTR name/*[in]*/, 
                                       Mscorlib_tlb::ParameterAttributes Attributes/*[in]*/, 
                                       long sequence/*[in]*/, 
                                       Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                       long addr1/*[in]*/, long addr2/*[in]*/, long addr3/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefineParameter"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<7> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)Attributes /*[VT_USERDEFINED:0]*/;
  _args[3] = sequence /*[VT_I4:0]*/;
  _args[4] = (int)addrKind /*[VT_USERDEFINED:0]*/;
  _args[5] = addr1 /*[VT_I4:0]*/;
  _args[6] = addr2 /*[VT_I4:0]*/;
  _args[7] = addr3 /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::DefineField(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                   , BSTR name/*[in]*/, 
                                   Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                   LPSAFEARRAY signature/*[in]*/, 
                                   Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, long addr1/*[in]*/
                                   , long addr2/*[in]*/, long addr3/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefineField"), DISPID(DISPID_UNKNOWN/*[1610743819]*/));
  TAutoArgs<8> _args;
  _args[1] = parent /*[VT_USERDEFINED:0]*/;
  _args[2] = name /*[VT_BSTR:0]*/;
  _args[3] = (int)Attributes /*[VT_USERDEFINED:0]*/;
  _args[4] = signature /*[VT_SAFEARRAY:0]*/;
  _args[5] = (int)addrKind /*[VT_USERDEFINED:0]*/;
  _args[6] = addr1 /*[VT_I4:0]*/;
  _args[7] = addr2 /*[VT_I4:0]*/;
  _args[8] = addr3 /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::DefineGlobalVariable(BSTR name/*[in]*/, 
                                            Mscorlib_tlb::FieldAttributes Attributes/*[in]*/, 
                                            LPSAFEARRAY signature/*[in]*/, 
                                            Mscorlib_tlb::SymAddressKind addrKind/*[in]*/, 
                                            long addr1/*[in]*/, long addr2/*[in]*/, 
                                            long addr3/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DefineGlobalVariable"), DISPID(DISPID_UNKNOWN/*[1610743820]*/));
  TAutoArgs<7> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (int)Attributes /*[VT_USERDEFINED:0]*/;
  _args[3] = signature /*[VT_SAFEARRAY:0]*/;
  _args[4] = (int)addrKind /*[VT_USERDEFINED:0]*/;
  _args[5] = addr1 /*[VT_I4:0]*/;
  _args[6] = addr2 /*[VT_I4:0]*/;
  _args[7] = addr3 /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::Close()
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(DISPID_UNKNOWN/*[1610743821]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::SetSymAttribute(/*AUTO_PARAM_ERROR(Mscorlib_tlb::SymbolToken parent)*/ TVariant&  parent
                                       , BSTR name/*[in]*/, LPSAFEARRAY data/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetSymAttribute"), DISPID(DISPID_UNKNOWN/*[1610743822]*/));
  TAutoArgs<3> _args;
  _args[1] = parent /*[VT_USERDEFINED:0]*/;
  _args[2] = name /*[VT_BSTR:0]*/;
  _args[3] = data /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::OpenNamespace(BSTR name/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("OpenNamespace"), DISPID(DISPID_UNKNOWN/*[1610743823]*/));
  TAutoArgs<1> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::CloseNamespace()
{
  _TDispID _dispid(*this, OLETEXT("CloseNamespace"), DISPID(DISPID_UNKNOWN/*[1610743824]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::UsingNamespace(BSTR FullName/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UsingNamespace"), DISPID(DISPID_UNKNOWN/*[1610743825]*/));
  TAutoArgs<1> _args;
  _args[1] = FullName /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::SetMethodSourceRange(Mscorlib_tlb::ISymbolDocumentWriterPtr startDoc/*[in]*/
                                            , long startLine/*[in]*/, long startColumn/*[in]*/, 
                                            Mscorlib_tlb::ISymbolDocumentWriterPtr endDoc/*[in]*/, 
                                            long endLine/*[in]*/, long endColumn/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetMethodSourceRange"), DISPID(DISPID_UNKNOWN/*[1610743826]*/));
  TAutoArgs<6> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISymbolDocumentWriter*)startDoc /*[VT_USERDEFINED:1]*/;
  _args[2] = startLine /*[VT_I4:0]*/;
  _args[3] = startColumn /*[VT_I4:0]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::ISymbolDocumentWriter*)endDoc /*[VT_USERDEFINED:1]*/;
  _args[5] = endLine /*[VT_I4:0]*/;
  _args[6] = endColumn /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISymbolWriterDispT<T>::SetUnderlyingWriter(long underlyingWriter/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetUnderlyingWriter"), DISPID(DISPID_UNKNOWN/*[1610743827]*/));
  TAutoArgs<1> _args;
  _args[1] = underlyingWriter /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_SymDocumentType
// Interface: _SymDocumentType
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SymDocumentType
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5141D79C-7B01-37DA-B7E9-53E5A271BAF8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SymLanguageType
// Interface: _SymLanguageType
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SymLanguageType
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {22BB8891-FD21-313D-92E4-8A892DC0B39C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SymLanguageVendor
// Interface: _SymLanguageVendor
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SymLanguageVendor
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {01364E7B-C983-3651-B7D8-FD1B64FC0E00}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AmbiguousMatchException
// Interface: _AmbiguousMatchException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AmbiguousMatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {81AA0D59-C3B1-36A3-B2E7-054928FBFC1A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ModuleResolveEventHandler
// Interface: _ModuleResolveEventHandler
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ModuleResolveEventHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {05532E88-E0F2-3263-9B57-805AC6B6BB72}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Assembly
// Interface: _Assembly
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AssemblyT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_AssemblyT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_AssemblyT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_AssemblyT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_CodeBase(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_CodeBase(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AssemblyT<T>::get_CodeBase(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_CodeBase((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_EscapedCodeBase(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_EscapedCodeBase(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AssemblyT<T>::get_EscapedCodeBase(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_EscapedCodeBase((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetName(Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetName(pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyNamePtr __fastcall
TCOM_AssemblyT<T>::GetName(void)
{
  Mscorlib_tlb::_AssemblyNamePtr pRetVal;
  OLECHECK(this->GetName((Mscorlib_tlb::_AssemblyNamePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetName_2(TOLEBOOL copiedName/*[in]*/, 
                             Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetName_2(copiedName, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyNamePtr __fastcall
TCOM_AssemblyT<T>::GetName_2(TOLEBOOL copiedName/*[in]*/)
{
  Mscorlib_tlb::_AssemblyNamePtr pRetVal;
  OLECHECK(this->GetName_2(copiedName, (Mscorlib_tlb::_AssemblyNamePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_FullName(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_FullName(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AssemblyT<T>::get_FullName(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_FullName((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_EntryPoint(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_EntryPoint(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_AssemblyT<T>::get_EntryPoint(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->get_EntryPoint((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetType_2(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType_2(name, pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_AssemblyT<T>::GetType_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType_2(name, (Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                             Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType_3(name, throwOnError, pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_AssemblyT<T>::GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType_3(name, throwOnError, (Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetExportedTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetExportedTypes(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetExportedTypes(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetExportedTypes((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetTypes(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetTypes(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetTypes((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, BSTR name/*[in]*/, 
                                             Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetManifestResourceStream(Type, name, pRetVal);
}

template <class T> Mscorlib_tlb::_StreamPtr __fastcall
TCOM_AssemblyT<T>::GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, BSTR name/*[in]*/)
{
  Mscorlib_tlb::_StreamPtr pRetVal;
  OLECHECK(this->GetManifestResourceStream(Type, name, (Mscorlib_tlb::_StreamPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetManifestResourceStream_2(BSTR name/*[in]*/, 
                                               Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetManifestResourceStream_2(name, pRetVal);
}

template <class T> Mscorlib_tlb::_StreamPtr __fastcall
TCOM_AssemblyT<T>::GetManifestResourceStream_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_StreamPtr pRetVal;
  OLECHECK(this->GetManifestResourceStream_2(name, (Mscorlib_tlb::_StreamPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetFile(BSTR name/*[in]*/, Mscorlib_tlb::_FileStreamPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetFile(name, pRetVal);
}

template <class T> Mscorlib_tlb::_FileStreamPtr __fastcall
TCOM_AssemblyT<T>::GetFile(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_FileStreamPtr pRetVal;
  OLECHECK(this->GetFile(name, (Mscorlib_tlb::_FileStreamPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetFiles(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetFiles(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetFiles(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetFiles((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetFiles_2(TOLEBOOL getResourceModules/*[in]*/, 
                              LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetFiles_2(getResourceModules, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetFiles_2(TOLEBOOL getResourceModules/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetFiles_2(getResourceModules, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetManifestResourceNames(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetManifestResourceNames(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetManifestResourceNames(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetManifestResourceNames((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetManifestResourceInfo(BSTR resourceName/*[in]*/, 
                                           Mscorlib_tlb::_ManifestResourceInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetManifestResourceInfo(resourceName, pRetVal);
}

template <class T> Mscorlib_tlb::_ManifestResourceInfoPtr __fastcall
TCOM_AssemblyT<T>::GetManifestResourceInfo(BSTR resourceName/*[in]*/)
{
  Mscorlib_tlb::_ManifestResourceInfoPtr pRetVal;
  OLECHECK(this->GetManifestResourceInfo(resourceName, (Mscorlib_tlb::_ManifestResourceInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_Location(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Location(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_AssemblyT<T>::get_Location(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_Location((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Evidence(pRetVal);
}

template <class T> Mscorlib_tlb::_EvidencePtr __fastcall
TCOM_AssemblyT<T>::get_Evidence(void)
{
  Mscorlib_tlb::_EvidencePtr pRetVal;
  OLECHECK(this->get_Evidence((Mscorlib_tlb::_EvidencePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, 
                                       LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/, 
                             TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_AssemblyT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                 Mscorlib_tlb::StreamingContext Context/*[in]*/)
{
  return (*this)->GetObjectData(info, Context);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::add_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->add_ModuleResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::remove_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/)
{
  return (*this)->remove_ModuleResolve(value);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                             TOLEBOOL ignoreCase/*[in]*/, 
                             Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType_4(name, throwOnError, ignoreCase, pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_AssemblyT<T>::GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                             TOLEBOOL ignoreCase/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType_4(name, throwOnError, ignoreCase, (Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                        Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetSatelliteAssembly(culture, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AssemblyT<T>::GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->GetSatelliteAssembly(culture, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          Mscorlib_tlb::_VersionPtr Version/*[in]*/, 
                                          Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetSatelliteAssembly_2(culture, Version, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
TCOM_AssemblyT<T>::GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          Mscorlib_tlb::_VersionPtr Version/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  OLECHECK(this->GetSatelliteAssembly_2(culture, Version, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::LoadModule(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                              Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->LoadModule(moduleName, rawModule, pRetVal);
}

template <class T> Mscorlib_tlb::_ModulePtr __fastcall
TCOM_AssemblyT<T>::LoadModule(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/)
{
  Mscorlib_tlb::_ModulePtr pRetVal;
  OLECHECK(this->LoadModule(moduleName, rawModule, (Mscorlib_tlb::_ModulePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::LoadModule_2(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->LoadModule_2(moduleName, rawModule, rawSymbolStore, pRetVal);
}

template <class T> Mscorlib_tlb::_ModulePtr __fastcall
TCOM_AssemblyT<T>::LoadModule_2(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                LPSAFEARRAY rawSymbolStore/*[in]*/)
{
  Mscorlib_tlb::_ModulePtr pRetVal;
  OLECHECK(this->LoadModule_2(moduleName, rawModule, rawSymbolStore, (Mscorlib_tlb::_ModulePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::CreateInstance(BSTR typeName/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstance(typeName, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_AssemblyT<T>::CreateInstance(BSTR typeName/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->CreateInstance(typeName, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                    TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstance_2(typeName, ignoreCase, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_AssemblyT<T>::CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->CreateInstance_2(typeName, ignoreCase, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                    Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                    Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                    LPSAFEARRAY args/*[in]*/, 
                                    Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                    LPSAFEARRAY activationAttributes/*[in]*/, 
                                    TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateInstance_3(typeName, ignoreCase, bindingAttr, Binder, args, culture, 
                                   activationAttributes, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_AssemblyT<T>::CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                    Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                    Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                    LPSAFEARRAY args/*[in]*/, 
                                    Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                    LPSAFEARRAY activationAttributes/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->CreateInstance_3(typeName, ignoreCase, bindingAttr, Binder, args, culture, 
                                  activationAttributes, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetLoadedModules(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetLoadedModules(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetLoadedModules(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetLoadedModules((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                      LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetLoadedModules_2(getResourceModules, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetLoadedModules_2(getResourceModules, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetModules(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetModules(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetModules(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetModules((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetModules_2(getResourceModules, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetModules_2(TOLEBOOL getResourceModules/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetModules_2(getResourceModules, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetModule(BSTR name/*[in]*/, Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetModule(name, pRetVal);
}

template <class T> Mscorlib_tlb::_ModulePtr __fastcall
TCOM_AssemblyT<T>::GetModule(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_ModulePtr pRetVal;
  OLECHECK(this->GetModule(name, (Mscorlib_tlb::_ModulePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::GetReferencedAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetReferencedAssemblies(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_AssemblyT<T>::GetReferencedAssemblies(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetReferencedAssemblies((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_AssemblyT<T>::get_GlobalAssemblyCache(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_GlobalAssemblyCache(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_AssemblyT<T>::get_GlobalAssemblyCache(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_GlobalAssemblyCache((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  _Assembly
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {17156360-2F1A-384A-BC52-FDE93C215C5B}
// *********************************************************************//
template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_AssemblyDispT<T>::get_ToString(void)
{
  BSTR pRetVal;
  this->get_ToString((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = other /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_AssemblyDispT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(other, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_AssemblyDispT<T>::GetHashCode(void)
{
  long pRetVal;
  this->GetHashCode((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_AssemblyDispT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_CodeBase(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CodeBase"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_AssemblyDispT<T>::get_CodeBase(void)
{
  BSTR pRetVal;
  this->get_CodeBase((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_EscapedCodeBase(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EscapedCodeBase"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_AssemblyDispT<T>::get_EscapedCodeBase(void)
{
  BSTR pRetVal;
  this->get_EscapedCodeBase((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetName(Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetName"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_AssemblyName**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_AssemblyNamePtr __fastcall
_AssemblyDispT<T>::GetName(void)
{
  Mscorlib_tlb::_AssemblyNamePtr pRetVal;
  this->GetName((Mscorlib_tlb::_AssemblyNamePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetName_2(TOLEBOOL copiedName/*[in]*/, 
                             Mscorlib_tlb::_AssemblyNamePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetName_2"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = copiedName /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_AssemblyName**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_AssemblyNamePtr __fastcall
_AssemblyDispT<T>::GetName_2(TOLEBOOL copiedName/*[in]*/)
{
  Mscorlib_tlb::_AssemblyNamePtr pRetVal;
  this->GetName_2(copiedName, (Mscorlib_tlb::_AssemblyNamePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_FullName(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FullName"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_AssemblyDispT<T>::get_FullName(void)
{
  BSTR pRetVal;
  this->get_FullName((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_EntryPoint(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EntryPoint"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
_AssemblyDispT<T>::get_EntryPoint(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  this->get_EntryPoint((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetType_2(BSTR name/*[in]*/, Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType_2"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<1> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_AssemblyDispT<T>::GetType_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType_2(name, (Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                             Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType_3"), DISPID(DISPID_UNKNOWN/*[1610743819]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = throwOnError /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_AssemblyDispT<T>::GetType_3(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType_3(name, throwOnError, (Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetExportedTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetExportedTypes"), DISPID(DISPID_UNKNOWN/*[1610743820]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetExportedTypes(void)
{
  LPSAFEARRAY pRetVal;
  this->GetExportedTypes((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetTypes"), DISPID(DISPID_UNKNOWN/*[1610743821]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetTypes(void)
{
  LPSAFEARRAY pRetVal;
  this->GetTypes((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, BSTR name/*[in]*/
                                             , Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetManifestResourceStream"), DISPID(DISPID_UNKNOWN/*[1610743822]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  _args[2] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Stream**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_StreamPtr __fastcall
_AssemblyDispT<T>::GetManifestResourceStream(Mscorlib_tlb::_TypePtr Type/*[in]*/, BSTR name/*[in]*/)
{
  Mscorlib_tlb::_StreamPtr pRetVal;
  this->GetManifestResourceStream(Type, name, (Mscorlib_tlb::_StreamPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetManifestResourceStream_2(BSTR name/*[in]*/, 
                                               Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetManifestResourceStream_2"), DISPID(DISPID_UNKNOWN/*[1610743823]*/));
  TAutoArgs<1> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Stream**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_StreamPtr __fastcall
_AssemblyDispT<T>::GetManifestResourceStream_2(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_StreamPtr pRetVal;
  this->GetManifestResourceStream_2(name, (Mscorlib_tlb::_StreamPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetFile(BSTR name/*[in]*/, Mscorlib_tlb::_FileStreamPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetFile"), DISPID(DISPID_UNKNOWN/*[1610743824]*/));
  TAutoArgs<1> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_FileStream**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_FileStreamPtr __fastcall
_AssemblyDispT<T>::GetFile(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_FileStreamPtr pRetVal;
  this->GetFile(name, (Mscorlib_tlb::_FileStreamPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetFiles(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetFiles"), DISPID(DISPID_UNKNOWN/*[1610743825]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetFiles(void)
{
  LPSAFEARRAY pRetVal;
  this->GetFiles((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetFiles_2(TOLEBOOL getResourceModules/*[in]*/, 
                              LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetFiles_2"), DISPID(DISPID_UNKNOWN/*[1610743826]*/));
  TAutoArgs<1> _args;
  _args[1] = getResourceModules /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetFiles_2(TOLEBOOL getResourceModules/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetFiles_2(getResourceModules, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetManifestResourceNames(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetManifestResourceNames"), DISPID(DISPID_UNKNOWN/*[1610743827]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetManifestResourceNames(void)
{
  LPSAFEARRAY pRetVal;
  this->GetManifestResourceNames((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetManifestResourceInfo(BSTR resourceName/*[in]*/, 
                                           Mscorlib_tlb::_ManifestResourceInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetManifestResourceInfo"), DISPID(DISPID_UNKNOWN/*[1610743828]*/));
  TAutoArgs<1> _args;
  _args[1] = resourceName /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_ManifestResourceInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ManifestResourceInfoPtr __fastcall
_AssemblyDispT<T>::GetManifestResourceInfo(BSTR resourceName/*[in]*/)
{
  Mscorlib_tlb::_ManifestResourceInfoPtr pRetVal;
  this->GetManifestResourceInfo(resourceName, (Mscorlib_tlb::_ManifestResourceInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_Location(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Location"), DISPID(DISPID_UNKNOWN/*[1610743829]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_AssemblyDispT<T>::get_Location(void)
{
  BSTR pRetVal;
  this->get_Location((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_Evidence(Mscorlib_tlb::_EvidencePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Evidence"), DISPID(DISPID_UNKNOWN/*[1610743830]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Evidence**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_EvidencePtr __fastcall
_AssemblyDispT<T>::get_Evidence(void)
{
  Mscorlib_tlb::_EvidencePtr pRetVal;
  this->get_Evidence((Mscorlib_tlb::_EvidencePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/, 
                                       LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetCustomAttributes"), DISPID(DISPID_UNKNOWN/*[1610743831]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)attributeType /*[VT_USERDEFINED:1]*/;
  _args[2] = inherit /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                       TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetCustomAttributes_2"), DISPID(DISPID_UNKNOWN/*[1610743832]*/));
  TAutoArgs<1> _args;
  _args[1] = inherit /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/
                             , TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsDefined"), DISPID(DISPID_UNKNOWN/*[1610743833]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)attributeType /*[VT_USERDEFINED:1]*/;
  _args[2] = inherit /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_AssemblyDispT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetObjectData(Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                 /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context)
{
  _TDispID _dispid(*this, OLETEXT("GetObjectData"), DISPID(DISPID_UNKNOWN/*[1610743834]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_SerializationInfo*)info /*[VT_USERDEFINED:1]*/;
  _args[2] = Context /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::add_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("add_ModuleResolve"), DISPID(DISPID_UNKNOWN/*[1610743835]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_ModuleResolveEventHandler*)value /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::remove_ModuleResolve(Mscorlib_tlb::_ModuleResolveEventHandlerPtr value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("remove_ModuleResolve"), DISPID(DISPID_UNKNOWN/*[1610743836]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_ModuleResolveEventHandler*)value /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                             TOLEBOOL ignoreCase/*[in]*/, 
                             Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType_4"), DISPID(DISPID_UNKNOWN/*[1610743837]*/));
  TAutoArgs<3> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = throwOnError /*[VT_BOOL:0]*/;
  _args[3] = ignoreCase /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_AssemblyDispT<T>::GetType_4(BSTR name/*[in]*/, TOLEBOOL throwOnError/*[in]*/, 
                             TOLEBOOL ignoreCase/*[in]*/)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType_4(name, throwOnError, ignoreCase, (Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                        Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSatelliteAssembly"), DISPID(DISPID_UNKNOWN/*[1610743838]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_CultureInfo*)culture /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Assembly**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
_AssemblyDispT<T>::GetSatelliteAssembly(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  this->GetSatelliteAssembly(culture, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          Mscorlib_tlb::_VersionPtr Version/*[in]*/, 
                                          Mscorlib_tlb::_AssemblyPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSatelliteAssembly_2"), DISPID(DISPID_UNKNOWN/*[1610743839]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_CultureInfo*)culture /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_Version*)Version /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Assembly**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_AssemblyPtr __fastcall
_AssemblyDispT<T>::GetSatelliteAssembly_2(Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                          Mscorlib_tlb::_VersionPtr Version/*[in]*/)
{
  Mscorlib_tlb::_AssemblyPtr pRetVal;
  this->GetSatelliteAssembly_2(culture, Version, (Mscorlib_tlb::_AssemblyPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::LoadModule(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                              Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LoadModule"), DISPID(DISPID_UNKNOWN/*[1610743840]*/));
  TAutoArgs<2> _args;
  _args[1] = moduleName /*[VT_BSTR:0]*/;
  _args[2] = rawModule /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Module**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ModulePtr __fastcall
_AssemblyDispT<T>::LoadModule(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/)
{
  Mscorlib_tlb::_ModulePtr pRetVal;
  this->LoadModule(moduleName, rawModule, (Mscorlib_tlb::_ModulePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::LoadModule_2(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                LPSAFEARRAY rawSymbolStore/*[in]*/, 
                                Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LoadModule_2"), DISPID(DISPID_UNKNOWN/*[1610743841]*/));
  TAutoArgs<3> _args;
  _args[1] = moduleName /*[VT_BSTR:0]*/;
  _args[2] = rawModule /*[VT_SAFEARRAY:0]*/;
  _args[3] = rawSymbolStore /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Module**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ModulePtr __fastcall
_AssemblyDispT<T>::LoadModule_2(BSTR moduleName/*[in]*/, LPSAFEARRAY rawModule/*[in]*/, 
                                LPSAFEARRAY rawSymbolStore/*[in]*/)
{
  Mscorlib_tlb::_ModulePtr pRetVal;
  this->LoadModule_2(moduleName, rawModule, rawSymbolStore, (Mscorlib_tlb::_ModulePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::CreateInstance(BSTR typeName/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateInstance"), DISPID(DISPID_UNKNOWN/*[1610743842]*/));
  TAutoArgs<1> _args;
  _args[1] = typeName /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_AssemblyDispT<T>::CreateInstance(BSTR typeName/*[in]*/)
{
  TVariant pRetVal;
  this->CreateInstance(typeName, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                    TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateInstance_2"), DISPID(DISPID_UNKNOWN/*[1610743843]*/));
  TAutoArgs<2> _args;
  _args[1] = typeName /*[VT_BSTR:0]*/;
  _args[2] = ignoreCase /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_AssemblyDispT<T>::CreateInstance_2(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/)
{
  TVariant pRetVal;
  this->CreateInstance_2(typeName, ignoreCase, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                    Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                    Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                    LPSAFEARRAY args/*[in]*/, 
                                    Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                    LPSAFEARRAY activationAttributes/*[in]*/, 
                                    TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateInstance_3"), DISPID(DISPID_UNKNOWN/*[1610743844]*/));
  TAutoArgs<7> _args;
  _args[1] = typeName /*[VT_BSTR:0]*/;
  _args[2] = ignoreCase /*[VT_BOOL:0]*/;
  _args[3] = (int)bindingAttr /*[VT_USERDEFINED:0]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::_Binder*)Binder /*[VT_USERDEFINED:1]*/;
  _args[5] = args /*[VT_SAFEARRAY:0]*/;
  _args[6] = (LPDISPATCH)(Mscorlib_tlb::_CultureInfo*)culture /*[VT_USERDEFINED:1]*/;
  _args[7] = activationAttributes /*[VT_SAFEARRAY:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_AssemblyDispT<T>::CreateInstance_3(BSTR typeName/*[in]*/, TOLEBOOL ignoreCase/*[in]*/, 
                                    Mscorlib_tlb::BindingFlags bindingAttr/*[in]*/, 
                                    Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                    LPSAFEARRAY args/*[in]*/, 
                                    Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                    LPSAFEARRAY activationAttributes/*[in]*/)
{
  TVariant pRetVal;
  this->CreateInstance_3(typeName, ignoreCase, bindingAttr, Binder, args, culture, 
                         activationAttributes, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetLoadedModules(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetLoadedModules"), DISPID(DISPID_UNKNOWN/*[1610743845]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetLoadedModules(void)
{
  LPSAFEARRAY pRetVal;
  this->GetLoadedModules((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                      LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetLoadedModules_2"), DISPID(DISPID_UNKNOWN/*[1610743846]*/));
  TAutoArgs<1> _args;
  _args[1] = getResourceModules /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetLoadedModules_2(TOLEBOOL getResourceModules/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetLoadedModules_2(getResourceModules, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetModules(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetModules"), DISPID(DISPID_UNKNOWN/*[1610743847]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetModules(void)
{
  LPSAFEARRAY pRetVal;
  this->GetModules((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetModules_2(TOLEBOOL getResourceModules/*[in]*/, 
                                LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetModules_2"), DISPID(DISPID_UNKNOWN/*[1610743848]*/));
  TAutoArgs<1> _args;
  _args[1] = getResourceModules /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetModules_2(TOLEBOOL getResourceModules/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetModules_2(getResourceModules, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetModule(BSTR name/*[in]*/, Mscorlib_tlb::_ModulePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetModule"), DISPID(DISPID_UNKNOWN/*[1610743849]*/));
  TAutoArgs<1> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Module**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ModulePtr __fastcall
_AssemblyDispT<T>::GetModule(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_ModulePtr pRetVal;
  this->GetModule(name, (Mscorlib_tlb::_ModulePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::GetReferencedAssemblies(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetReferencedAssemblies"), DISPID(DISPID_UNKNOWN/*[1610743850]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
_AssemblyDispT<T>::GetReferencedAssemblies(void)
{
  LPSAFEARRAY pRetVal;
  this->GetReferencedAssemblies((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_AssemblyDispT<T>::get_GlobalAssemblyCache(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GlobalAssemblyCache"), DISPID(DISPID_UNKNOWN/*[1610743851]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_AssemblyDispT<T>::get_GlobalAssemblyCache(void)
{
  TOLEBOOL pRetVal;
  this->get_GlobalAssemblyCache((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_AssemblyCopyrightAttribute
// Interface: _AssemblyCopyrightAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyCopyrightAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6163F792-3CD6-38F1-B5F7-000B96A5082B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyTrademarkAttribute
// Interface: _AssemblyTrademarkAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyTrademarkAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {64C26BF9-C9E5-3F66-AD74-BEBAADE36214}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyProductAttribute
// Interface: _AssemblyProductAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyProductAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DE10D587-A188-3DCB-8000-92DFDB9B8021}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyCompanyAttribute
// Interface: _AssemblyCompanyAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyCompanyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C6802233-EF82-3C91-AD72-B3A5D7230ED5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyDescriptionAttribute
// Interface: _AssemblyDescriptionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyDescriptionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6B2C0BC4-DDB7-38EA-8A86-F0B59E192816}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyTitleAttribute
// Interface: _AssemblyTitleAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyTitleAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DF44CAD3-CEF2-36A9-B013-383CC03177D7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyConfigurationAttribute
// Interface: _AssemblyConfigurationAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyConfigurationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {746D1D1E-EE37-393B-B6FA-E387D37553AA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyDefaultAliasAttribute
// Interface: _AssemblyDefaultAliasAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyDefaultAliasAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {04311D35-75EC-347B-BEDF-969487CE4014}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyInformationalVersionAttribute
// Interface: _AssemblyInformationalVersionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyInformationalVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C6F5946C-143A-3747-A7C0-ABFADA6BDEB7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyFileVersionAttribute
// Interface: _AssemblyFileVersionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyFileVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B101FE3C-4479-311A-A945-1225EE1731E8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyCultureAttribute
// Interface: _AssemblyCultureAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyCultureAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {177C4E63-9E0B-354D-838B-B52AA8683EF6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyVersionAttribute
// Interface: _AssemblyVersionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1693C5C-101F-3557-94DB-C480CEB4C16B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyKeyFileAttribute
// Interface: _AssemblyKeyFileAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyKeyFileAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9FCDA18-C237-3C6F-A6EF-749BE22BA2BF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyDelaySignAttribute
// Interface: _AssemblyDelaySignAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyDelaySignAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6CF1C077-C974-38E1-90A4-976E4835E165}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyAlgorithmIdAttribute
// Interface: _AssemblyAlgorithmIdAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyAlgorithmIdAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {57B849AA-D8EF-3EA6-9538-C5B4D498C2F7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyFlagsAttribute
// Interface: _AssemblyFlagsAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyFlagsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0ECD8635-F5EB-3E4A-8989-4D684D67C48A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyKeyNameAttribute
// Interface: _AssemblyKeyNameAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyKeyNameAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {322A304D-11AC-3814-A905-A019F6E3DAE9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyName
// Interface: _AssemblyName
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_AssemblyNameT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyNameT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyNameT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                     unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                     long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyNameT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                              unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                              long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                              long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_AssemblyNameProxy
// Interface: _AssemblyNameProxy
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AssemblyNameProxy
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FE52F19A-8AA8-309C-BF99-9D0A566FB76A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CustomAttributeFormatException
// Interface: _CustomAttributeFormatException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CustomAttributeFormatException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1660EB67-EE41-363E-BEB0-C2DE09214ABF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodBase
// Interface: _MethodBase
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                 long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                   unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                            unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                            long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                            long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_MethodBaseT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_MethodBaseT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MethodBaseT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_MethodBaseT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_MethodBaseT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MethodBaseT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MethodBaseT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                         TOLEBOOL inherit/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MethodBaseT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                         TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MethodBaseT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                               TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                               TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetParameters(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MethodBaseT<T>::GetParameters(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetParameters((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethodImplementationFlags(pRetVal);
}

template <class T> Mscorlib_tlb::MethodImplAttributes __fastcall
TCOM_MethodBaseT<T>::GetMethodImplementationFlags(void)
{
  Mscorlib_tlb::MethodImplAttributes pRetVal;
  OLECHECK(this->GetMethodImplementationFlags((Mscorlib_tlb::MethodImplAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MethodHandle(pRetVal);
}

template <class T> Mscorlib_tlb::RuntimeMethodHandle __fastcall
TCOM_MethodBaseT<T>::get_MethodHandle(void)
{
  Mscorlib_tlb::RuntimeMethodHandle pRetVal;
  OLECHECK(this->get_MethodHandle((Mscorlib_tlb::RuntimeMethodHandle*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Attributes(pRetVal);
}

template <class T> Mscorlib_tlb::MethodAttributes __fastcall
TCOM_MethodBaseT<T>::get_Attributes(void)
{
  Mscorlib_tlb::MethodAttributes pRetVal;
  OLECHECK(this->get_Attributes((Mscorlib_tlb::MethodAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/)
{
  return (*this)->get_CallingConvention(pRetVal);
}

template <class T> Mscorlib_tlb::CallingConventions __fastcall
TCOM_MethodBaseT<T>::get_CallingConvention(void)
{
  Mscorlib_tlb::CallingConventions pRetVal;
  OLECHECK(this->get_CallingConvention((Mscorlib_tlb::CallingConventions*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::Invoke_2(TVariantInParam obj/*[in]*/, 
                              Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              LPSAFEARRAY parameters/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                              TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_2(obj, invokeAttr, Binder, parameters, culture, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_MethodBaseT<T>::Invoke_2(TVariantInParam obj/*[in]*/, 
                              Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              LPSAFEARRAY parameters/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_2(obj, invokeAttr, Binder, parameters, culture, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPublic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsPublic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPublic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPrivate(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsPrivate(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPrivate((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamily(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsFamily(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamily((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyAndAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsFamilyAndAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyAndAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyOrAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsFamilyOrAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyOrAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsStatic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsStatic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsStatic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFinal(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsFinal(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFinal((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsVirtual(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsVirtual(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsVirtual((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsHideBySig(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsHideBySig(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsHideBySig((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAbstract(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsAbstract(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAbstract((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSpecialName(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsSpecialName(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSpecialName((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsConstructor(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodBaseT<T>::get_IsConstructor(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsConstructor((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodBaseT<T>::Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/, 
                              TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_3(obj, parameters, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_MethodBaseT<T>::Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_3(obj, parameters, (TVariant*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_MethodInfo
// Interface: _MethodInfo
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                 long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                   unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                            unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                            long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                            long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_MethodInfoT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_MethodInfoT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MethodInfoT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_MethodInfoT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_MethodInfoT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MethodInfoT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MethodInfoT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                         TOLEBOOL inherit/*[in]*/, 
                                         LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MethodInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                         TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MethodInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                               TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                               TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetParameters(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_MethodInfoT<T>::GetParameters(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetParameters((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethodImplementationFlags(pRetVal);
}

template <class T> Mscorlib_tlb::MethodImplAttributes __fastcall
TCOM_MethodInfoT<T>::GetMethodImplementationFlags(void)
{
  Mscorlib_tlb::MethodImplAttributes pRetVal;
  OLECHECK(this->GetMethodImplementationFlags((Mscorlib_tlb::MethodImplAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MethodHandle(pRetVal);
}

template <class T> Mscorlib_tlb::RuntimeMethodHandle __fastcall
TCOM_MethodInfoT<T>::get_MethodHandle(void)
{
  Mscorlib_tlb::RuntimeMethodHandle pRetVal;
  OLECHECK(this->get_MethodHandle((Mscorlib_tlb::RuntimeMethodHandle*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Attributes(pRetVal);
}

template <class T> Mscorlib_tlb::MethodAttributes __fastcall
TCOM_MethodInfoT<T>::get_Attributes(void)
{
  Mscorlib_tlb::MethodAttributes pRetVal;
  OLECHECK(this->get_Attributes((Mscorlib_tlb::MethodAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/)
{
  return (*this)->get_CallingConvention(pRetVal);
}

template <class T> Mscorlib_tlb::CallingConventions __fastcall
TCOM_MethodInfoT<T>::get_CallingConvention(void)
{
  Mscorlib_tlb::CallingConventions pRetVal;
  OLECHECK(this->get_CallingConvention((Mscorlib_tlb::CallingConventions*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::Invoke_2(TVariantInParam obj/*[in]*/, 
                              Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              LPSAFEARRAY parameters/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                              TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_2(obj, invokeAttr, Binder, parameters, culture, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_MethodInfoT<T>::Invoke_2(TVariantInParam obj/*[in]*/, 
                              Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                              Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                              LPSAFEARRAY parameters/*[in]*/, 
                              Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_2(obj, invokeAttr, Binder, parameters, culture, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPublic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsPublic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPublic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPrivate(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsPrivate(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPrivate((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamily(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsFamily(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamily((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyAndAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsFamilyAndAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyAndAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyOrAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsFamilyOrAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyOrAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsStatic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsStatic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsStatic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFinal(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsFinal(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFinal((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsVirtual(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsVirtual(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsVirtual((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsHideBySig(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsHideBySig(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsHideBySig((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAbstract(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsAbstract(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAbstract((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSpecialName(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsSpecialName(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSpecialName((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsConstructor(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_MethodInfoT<T>::get_IsConstructor(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsConstructor((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/, 
                              TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_3(obj, parameters, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_MethodInfoT<T>::Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_3(obj, parameters, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_returnType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_returnType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_MethodInfoT<T>::get_returnType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_returnType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::get_ReturnTypeCustomAttributes(Mscorlib_tlb::ICustomAttributeProviderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReturnTypeCustomAttributes(pRetVal);
}

template <class T> Mscorlib_tlb::ICustomAttributeProviderPtr __fastcall
TCOM_MethodInfoT<T>::get_ReturnTypeCustomAttributes(void)
{
  Mscorlib_tlb::ICustomAttributeProviderPtr pRetVal;
  OLECHECK(this->get_ReturnTypeCustomAttributes((Mscorlib_tlb::ICustomAttributeProviderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_MethodInfoT<T>::GetBaseDefinition(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetBaseDefinition(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_MethodInfoT<T>::GetBaseDefinition(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetBaseDefinition((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_ConstructorInfo
// Interface: _ConstructorInfo
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                      long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                        unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                        long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                 unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                 long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                 long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ConstructorInfoT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_ConstructorInfoT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_ConstructorInfoT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_ConstructorInfoT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ConstructorInfoT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_ConstructorInfoT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_ConstructorInfoT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/, 
                                              LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_ConstructorInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                              TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                                LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_ConstructorInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                    TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                    TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetParameters(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_ConstructorInfoT<T>::GetParameters(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetParameters((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::GetMethodImplementationFlags(Mscorlib_tlb::MethodImplAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->GetMethodImplementationFlags(pRetVal);
}

template <class T> Mscorlib_tlb::MethodImplAttributes __fastcall
TCOM_ConstructorInfoT<T>::GetMethodImplementationFlags(void)
{
  Mscorlib_tlb::MethodImplAttributes pRetVal;
  OLECHECK(this->GetMethodImplementationFlags((Mscorlib_tlb::MethodImplAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_MethodHandle(Mscorlib_tlb::RuntimeMethodHandle* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MethodHandle(pRetVal);
}

template <class T> Mscorlib_tlb::RuntimeMethodHandle __fastcall
TCOM_ConstructorInfoT<T>::get_MethodHandle(void)
{
  Mscorlib_tlb::RuntimeMethodHandle pRetVal;
  OLECHECK(this->get_MethodHandle((Mscorlib_tlb::RuntimeMethodHandle*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_Attributes(Mscorlib_tlb::MethodAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Attributes(pRetVal);
}

template <class T> Mscorlib_tlb::MethodAttributes __fastcall
TCOM_ConstructorInfoT<T>::get_Attributes(void)
{
  Mscorlib_tlb::MethodAttributes pRetVal;
  OLECHECK(this->get_Attributes((Mscorlib_tlb::MethodAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_CallingConvention(Mscorlib_tlb::CallingConventions* pRetVal/*[out,retval]*/)
{
  return (*this)->get_CallingConvention(pRetVal);
}

template <class T> Mscorlib_tlb::CallingConventions __fastcall
TCOM_ConstructorInfoT<T>::get_CallingConvention(void)
{
  Mscorlib_tlb::CallingConventions pRetVal;
  OLECHECK(this->get_CallingConvention((Mscorlib_tlb::CallingConventions*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::Invoke_2(TVariantInParam obj/*[in]*/, 
                                   Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                   LPSAFEARRAY parameters/*[in]*/, 
                                   Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                   TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_2(obj, invokeAttr, Binder, parameters, culture, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_ConstructorInfoT<T>::Invoke_2(TVariantInParam obj/*[in]*/, 
                                   Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                   LPSAFEARRAY parameters/*[in]*/, 
                                   Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_2(obj, invokeAttr, Binder, parameters, culture, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPublic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsPublic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPublic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPrivate(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsPrivate(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPrivate((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamily(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsFamily(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamily((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyAndAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsFamilyAndAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyAndAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyOrAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsFamilyOrAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyOrAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsStatic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsStatic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsStatic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsFinal(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFinal(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsFinal(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFinal((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsVirtual(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsVirtual(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsVirtual(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsVirtual((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsHideBySig(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsHideBySig(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsHideBySig(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsHideBySig((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsAbstract(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAbstract(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsAbstract(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAbstract((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSpecialName(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsSpecialName(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSpecialName((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::get_IsConstructor(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsConstructor(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ConstructorInfoT<T>::get_IsConstructor(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsConstructor((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/, 
                                   TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_3(obj, parameters, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_ConstructorInfoT<T>::Invoke_3(TVariantInParam obj/*[in]*/, LPSAFEARRAY parameters/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_3(obj, parameters, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::Invoke_4(Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                   LPSAFEARRAY parameters/*[in]*/, 
                                   Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                   TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_4(invokeAttr, Binder, parameters, culture, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_ConstructorInfoT<T>::Invoke_4(Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                   Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                                   LPSAFEARRAY parameters/*[in]*/, 
                                   Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_4(invokeAttr, Binder, parameters, culture, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ConstructorInfoT<T>::Invoke_5(LPSAFEARRAY parameters/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Invoke_5(parameters, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_ConstructorInfoT<T>::Invoke_5(LPSAFEARRAY parameters/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->Invoke_5(parameters, (TVariant*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_FieldInfo
// Interface: _FieldInfo
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                  unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_FieldInfoT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_FieldInfoT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_FieldInfoT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_FieldInfoT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_FieldInfoT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_FieldInfoT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_FieldInfoT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                        TOLEBOOL inherit/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_FieldInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                        TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                          LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_FieldInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/, 
                              TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_FieldType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_FieldType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_FieldInfoT<T>::get_FieldType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_FieldType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetValue(TVariantInParam obj/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->GetValue(obj, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_FieldInfoT<T>::GetValue(TVariantInParam obj/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->GetValue(obj, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::GetValueDirect(TVariantInParam obj/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->GetValueDirect(obj, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_FieldInfoT<T>::GetValueDirect(TVariantInParam obj/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->GetValueDirect(obj, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::SetValue(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/, 
                             Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                             Mscorlib_tlb::_BinderPtr Binder/*[in]*/, 
                             Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  return (*this)->SetValue(obj, value, invokeAttr, Binder, culture);
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::SetValueDirect(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/)
{
  return (*this)->SetValueDirect(obj, value);
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_FieldHandle(Mscorlib_tlb::RuntimeFieldHandle* pRetVal/*[out,retval]*/)
{
  return (*this)->get_FieldHandle(pRetVal);
}

template <class T> Mscorlib_tlb::RuntimeFieldHandle __fastcall
TCOM_FieldInfoT<T>::get_FieldHandle(void)
{
  Mscorlib_tlb::RuntimeFieldHandle pRetVal;
  OLECHECK(this->get_FieldHandle((Mscorlib_tlb::RuntimeFieldHandle*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_Attributes(Mscorlib_tlb::FieldAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Attributes(pRetVal);
}

template <class T> Mscorlib_tlb::FieldAttributes __fastcall
TCOM_FieldInfoT<T>::get_Attributes(void)
{
  Mscorlib_tlb::FieldAttributes pRetVal;
  OLECHECK(this->get_Attributes((Mscorlib_tlb::FieldAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::SetValue_2(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/)
{
  return (*this)->SetValue_2(obj, value);
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsPublic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPublic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsPublic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPublic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsPrivate(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPrivate(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsPrivate(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPrivate((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsFamily(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamily(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsFamily(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamily((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsFamilyAndAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyAndAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsFamilyAndAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyAndAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsFamilyOrAssembly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsFamilyOrAssembly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsFamilyOrAssembly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsFamilyOrAssembly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsStatic(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsStatic(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsStatic(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsStatic((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsInitOnly(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsInitOnly(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsInitOnly(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsInitOnly((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsLiteral(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsLiteral(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsLiteral(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsLiteral((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsNotSerialized(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsNotSerialized(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsNotSerialized(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsNotSerialized((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSpecialName(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsSpecialName(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSpecialName((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_FieldInfoT<T>::get_IsPinvokeImpl(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsPinvokeImpl(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_FieldInfoT<T>::get_IsPinvokeImpl(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsPinvokeImpl((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_PropertyInfo
// Interface: _PropertyInfo
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                     unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                     long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                              unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                              long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                              long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_PropertyInfoT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_PropertyInfoT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_PropertyInfoT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_PropertyInfoT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_PropertyInfoT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_PropertyInfoT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_PropertyInfoT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_PropertyInfoT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                           TOLEBOOL inherit/*[in]*/, 
                                           LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_PropertyInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                           TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                             LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_PropertyInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                 TOLEBOOL inherit/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_PropertyInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                 TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_PropertyType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_PropertyType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_PropertyInfoT<T>::get_PropertyType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_PropertyType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetValue(TVariantInParam obj/*[in]*/, LPSAFEARRAY index/*[in]*/, 
                                TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->GetValue(obj, index, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_PropertyInfoT<T>::GetValue(TVariantInParam obj/*[in]*/, LPSAFEARRAY index/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->GetValue(obj, index, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetValue_2(TVariantInParam obj/*[in]*/, 
                                  Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                  Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY index/*[in]*/, 
                                  Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/, 
                                  TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->GetValue_2(obj, invokeAttr, Binder, index, culture, pRetVal);
}

template <class T> TVariant __fastcall
TCOM_PropertyInfoT<T>::GetValue_2(TVariantInParam obj/*[in]*/, 
                                  Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                  Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY index/*[in]*/, 
                                  Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  TVariant pRetVal;
  OLECHECK(this->GetValue_2(obj, invokeAttr, Binder, index, culture, (TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::SetValue(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/, 
                                LPSAFEARRAY index/*[in]*/)
{
  return (*this)->SetValue(obj, value, index);
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::SetValue_2(TVariantInParam obj/*[in]*/, TVariantInParam value/*[in]*/, 
                                  Mscorlib_tlb::BindingFlags invokeAttr/*[in]*/, 
                                  Mscorlib_tlb::_BinderPtr Binder/*[in]*/, LPSAFEARRAY index/*[in]*/, 
                                  Mscorlib_tlb::_CultureInfoPtr culture/*[in]*/)
{
  return (*this)->SetValue_2(obj, value, invokeAttr, Binder, index, culture);
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetAccessors(TOLEBOOL nonPublic/*[in]*/, LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetAccessors(nonPublic, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_PropertyInfoT<T>::GetAccessors(TOLEBOOL nonPublic/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetAccessors(nonPublic, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetGetMethod(TOLEBOOL nonPublic/*[in]*/, 
                                    Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetGetMethod(nonPublic, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_PropertyInfoT<T>::GetGetMethod(TOLEBOOL nonPublic/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetGetMethod(nonPublic, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetSetMethod(TOLEBOOL nonPublic/*[in]*/, 
                                    Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetSetMethod(nonPublic, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_PropertyInfoT<T>::GetSetMethod(TOLEBOOL nonPublic/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetSetMethod(nonPublic, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetIndexParameters(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetIndexParameters(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_PropertyInfoT<T>::GetIndexParameters(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetIndexParameters((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_Attributes(Mscorlib_tlb::PropertyAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Attributes(pRetVal);
}

template <class T> Mscorlib_tlb::PropertyAttributes __fastcall
TCOM_PropertyInfoT<T>::get_Attributes(void)
{
  Mscorlib_tlb::PropertyAttributes pRetVal;
  OLECHECK(this->get_Attributes((Mscorlib_tlb::PropertyAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_CanRead(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_CanRead(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_PropertyInfoT<T>::get_CanRead(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_CanRead((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_CanWrite(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_CanWrite(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_PropertyInfoT<T>::get_CanWrite(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_CanWrite((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetAccessors_2(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetAccessors_2(pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_PropertyInfoT<T>::GetAccessors_2(void)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetAccessors_2((LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetGetMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetGetMethod_2(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_PropertyInfoT<T>::GetGetMethod_2(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetGetMethod_2((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::GetSetMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetSetMethod_2(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_PropertyInfoT<T>::GetSetMethod_2(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetSetMethod_2((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_PropertyInfoT<T>::get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSpecialName(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_PropertyInfoT<T>::get_IsSpecialName(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSpecialName((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_EventInfo
// Interface: _EventInfo
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                  unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                           unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                           long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                           long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_EventInfoT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::Equals(TVariantInParam other/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(other, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_EventInfoT<T>::Equals(TVariantInParam other/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(other, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_EventInfoT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_EventInfoT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_MemberType(Mscorlib_tlb::MemberTypes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_MemberType(pRetVal);
}

template <class T> Mscorlib_tlb::MemberTypes __fastcall
TCOM_EventInfoT<T>::get_MemberType(void)
{
  Mscorlib_tlb::MemberTypes pRetVal;
  OLECHECK(this->get_MemberType((Mscorlib_tlb::MemberTypes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_name(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_EventInfoT<T>::get_name(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_name((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_DeclaringType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_DeclaringType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_EventInfoT<T>::get_DeclaringType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_DeclaringType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_ReflectedType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ReflectedType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_EventInfoT<T>::get_ReflectedType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_ReflectedType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                        TOLEBOOL inherit/*[in]*/, 
                                        LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes(attributeType, inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_EventInfoT<T>::GetCustomAttributes(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, 
                                        TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes(attributeType, inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/, 
                                          LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetCustomAttributes_2(inherit, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOM_EventInfoT<T>::GetCustomAttributes_2(TOLEBOOL inherit/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetCustomAttributes_2(inherit, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/, 
                              TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->IsDefined(attributeType, inherit, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_EventInfoT<T>::IsDefined(Mscorlib_tlb::_TypePtr attributeType/*[in]*/, TOLEBOOL inherit/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->IsDefined(attributeType, inherit, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetAddMethod(TOLEBOOL nonPublic/*[in]*/, 
                                 Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetAddMethod(nonPublic, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_EventInfoT<T>::GetAddMethod(TOLEBOOL nonPublic/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetAddMethod(nonPublic, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetRemoveMethod(TOLEBOOL nonPublic/*[in]*/, 
                                    Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetRemoveMethod(nonPublic, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_EventInfoT<T>::GetRemoveMethod(TOLEBOOL nonPublic/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetRemoveMethod(nonPublic, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetRaiseMethod(TOLEBOOL nonPublic/*[in]*/, 
                                   Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetRaiseMethod(nonPublic, pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_EventInfoT<T>::GetRaiseMethod(TOLEBOOL nonPublic/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetRaiseMethod(nonPublic, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_Attributes(Mscorlib_tlb::EventAttributes* pRetVal/*[out,retval]*/)
{
  return (*this)->get_Attributes(pRetVal);
}

template <class T> Mscorlib_tlb::EventAttributes __fastcall
TCOM_EventInfoT<T>::get_Attributes(void)
{
  Mscorlib_tlb::EventAttributes pRetVal;
  OLECHECK(this->get_Attributes((Mscorlib_tlb::EventAttributes*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetAddMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetAddMethod_2(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_EventInfoT<T>::GetAddMethod_2(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetAddMethod_2((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetRemoveMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetRemoveMethod_2(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_EventInfoT<T>::GetRemoveMethod_2(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetRemoveMethod_2((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::GetRaiseMethod_2(Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetRaiseMethod_2(pRetVal);
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
TCOM_EventInfoT<T>::GetRaiseMethod_2(void)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  OLECHECK(this->GetRaiseMethod_2((Mscorlib_tlb::_MethodInfoPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::AddEventHandler(TVariantInParam Target/*[in]*/, 
                                    Mscorlib_tlb::_DelegatePtr handler/*[in]*/)
{
  return (*this)->AddEventHandler(Target, handler);
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::RemoveEventHandler(TVariantInParam Target/*[in]*/, 
                                       Mscorlib_tlb::_DelegatePtr handler/*[in]*/)
{
  return (*this)->RemoveEventHandler(Target, handler);
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_EventHandlerType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->get_EventHandlerType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_EventInfoT<T>::get_EventHandlerType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->get_EventHandlerType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_IsSpecialName(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsSpecialName(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_EventInfoT<T>::get_IsSpecialName(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsSpecialName((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_EventInfoT<T>::get_IsMulticast(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->get_IsMulticast(pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_EventInfoT<T>::get_IsMulticast(void)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->get_IsMulticast((TOLEBOOL*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_ParameterInfo
// Interface: _ParameterInfo
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ParameterInfoT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ParameterInfoT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                    long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ParameterInfoT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                      unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                      long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ParameterInfoT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                               unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                               long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                               long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_Module
// Interface: _Module
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ModuleT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ModuleT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                             long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ModuleT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                               unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                               long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ModuleT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                        unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, long pDispParams/*[in]*/, 
                        long pVarResult/*[in]*/, long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_CustomAttributeData
// Interface: _CustomAttributeData
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CustomAttributeData
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4E5539D-0A65-3073-BF27-8DCE8EF1DEF1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DefaultMemberAttribute
// Interface: _DefaultMemberAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DefaultMemberAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C462B072-FE6E-3BDC-9FAB-4CDBFCBCD124}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InvalidFilterCriteriaException
// Interface: _InvalidFilterCriteriaException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InvalidFilterCriteriaException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E6DF0AE7-BA15-3F80-8AFA-27773AE414FC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ManifestResourceInfo
// Interface: _ManifestResourceInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ManifestResourceInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3188878C-DEB3-3558-80E8-84E9ED95F92C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MemberFilter
// Interface: _MemberFilter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MemberFilter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FAE5D9B7-40C1-3DE1-BE06-A91C9DA1BA9F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Missing
// Interface: _Missing
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Missing
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0C48F55D-5240-30C7-A8F1-AF87A640CEFE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ObfuscateAssemblyAttribute
// Interface: _ObfuscateAssemblyAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObfuscateAssemblyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8A5F0DA2-7B43-3767-B623-2424CF7CD268}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ObfuscationAttribute
// Interface: _ObfuscationAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObfuscationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {71FB8DCF-3FA7-3483-8464-9D8200E57C43}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ExceptionHandlingClause
// Interface: _ExceptionHandlingClause
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ExceptionHandlingClause
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {643A4016-1B16-3CCF-AE86-9C2D9135ECB0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodBody
// Interface: _MethodBody
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MethodBody
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B072EFE2-C943-3977-BFD9-91D5232B0D53}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_LocalVariableInfo
// Interface: _LocalVariableInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _LocalVariableInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F2ECD8CA-91A2-31E8-B808-E028B4F5CA67}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Pointer
// Interface: _Pointer
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Pointer
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F0DEAFE9-5EBA-3737-9950-C1795739CDCD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ReflectionTypeLoadException
// Interface: _ReflectionTypeLoadException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ReflectionTypeLoadException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {22C26A41-5FA3-34E3-A76F-BA480252D8EC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StrongNameKeyPair
// Interface: _StrongNameKeyPair
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StrongNameKeyPair
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FC4963CB-E52B-32D8-A418-D058FA51A1FA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TargetException
// Interface: _TargetException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TargetException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {98B1524D-DA12-3C4B-8A69-7539A6DEC4FA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TargetInvocationException
// Interface: _TargetInvocationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TargetInvocationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A90106ED-9099-3329-8A5A-2044B3D8552B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TargetParameterCountException
// Interface: _TargetParameterCountException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TargetParameterCountException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6032B3CD-9BED-351C-A145-9D500B0F636F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeDelegator
// Interface: _TypeDelegator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeDelegator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {34E00EF9-83E2-3BBC-B6AF-4CAE703838BD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeFilter
// Interface: _TypeFilter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeFilter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E1817846-3745-3C97-B4A6-EE20A1641B29}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IFormatter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {93D7A8C5-D2EB-319B-A374-A65D321F2AA9}
// *********************************************************************//
template <class T> HRESULT __fastcall
IFormatterDispT<T>::Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Deserialize"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)serializationStream /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IFormatterDispT<T>::Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/)
{
  TVariant pRetVal;
  this->Deserialize(serializationStream, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterDispT<T>::Serialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                              TVariantInParam graph/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Serialize"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)serializationStream /*[VT_USERDEFINED:1]*/;
  _args[2] = graph /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IFormatterDispT<T>::get_SurrogateSelector(Mscorlib_tlb::ISurrogateSelectorPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SurrogateSelector"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISurrogateSelector**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISurrogateSelectorPtr __fastcall
IFormatterDispT<T>::get_SurrogateSelector(void)
{
  Mscorlib_tlb::ISurrogateSelectorPtr pRetVal;
  this->get_SurrogateSelector((Mscorlib_tlb::ISurrogateSelectorPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterDispT<T>::_set_SurrogateSelector(Mscorlib_tlb::ISurrogateSelectorPtr pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("SurrogateSelector"), DISPID(1610743810));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISurrogateSelector*)pRetVal /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IFormatterDispT<T>::get_Binder(Mscorlib_tlb::_SerializationBinderPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Binder"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_SerializationBinder**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_SerializationBinderPtr __fastcall
IFormatterDispT<T>::get_Binder(void)
{
  Mscorlib_tlb::_SerializationBinderPtr pRetVal;
  this->get_Binder((Mscorlib_tlb::_SerializationBinderPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterDispT<T>::_set_Binder(Mscorlib_tlb::_SerializationBinderPtr pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Binder"), DISPID(1610743812));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_SerializationBinder*)pRetVal /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IFormatterDispT<T>::get_Context(/*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("Context"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
IFormatterDispT<T>::set_Context(/*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext pRetVal)*/ TVariant&  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("Context"), DISPID(1610743814));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_Formatter
// Interface: _Formatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Formatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9BD3C8D-9395-3657-B6EE-D1B509C38B70}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IFormatterConverter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F4F5C303-FAD3-3D0C-A4DF-BB82B5EE308F}
// *********************************************************************//
template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::Convert(TVariantInParam value/*[in]*/, 
                                     Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                     TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Convert"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  _args[2] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IFormatterConverterDispT<T>::Convert(TVariantInParam value/*[in]*/, 
                                     Mscorlib_tlb::_TypePtr Type/*[in]*/)
{
  TVariant pRetVal;
  this->Convert(value, Type, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::Convert_2(TVariantInParam value/*[in]*/, 
                                       Mscorlib_tlb::TypeCode TypeCode/*[in]*/, 
                                       TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Convert_2"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  _args[2] = (int)TypeCode /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IFormatterConverterDispT<T>::Convert_2(TVariantInParam value/*[in]*/, 
                                       Mscorlib_tlb::TypeCode TypeCode/*[in]*/)
{
  TVariant pRetVal;
  this->Convert_2(value, TypeCode, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToBoolean(TVariantInParam value/*[in]*/, 
                                       TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToBoolean"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IFormatterConverterDispT<T>::ToBoolean(TVariantInParam value/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->ToBoolean(value, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToChar(TVariantInParam value/*[in]*/, 
                                    unsigned_short* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToChar"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI2:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_short __fastcall
IFormatterConverterDispT<T>::ToChar(TVariantInParam value/*[in]*/)
{
  unsigned_short pRetVal;
  this->ToChar(value, (unsigned_short*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToSByte(TVariantInParam value/*[in]*/, 
                                     signed_char* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToSByte"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I1:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> signed_char __fastcall
IFormatterConverterDispT<T>::ToSByte(TVariantInParam value/*[in]*/)
{
  signed_char pRetVal;
  this->ToSByte(value, (signed_char*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToByte(TVariantInParam value/*[in]*/, 
                                    unsigned_char* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToByte"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI1:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_char __fastcall
IFormatterConverterDispT<T>::ToByte(TVariantInParam value/*[in]*/)
{
  unsigned_char pRetVal;
  this->ToByte(value, (unsigned_char*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToInt16(TVariantInParam value/*[in]*/, short* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToInt16"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I2:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> short __fastcall
IFormatterConverterDispT<T>::ToInt16(TVariantInParam value/*[in]*/)
{
  short pRetVal;
  this->ToInt16(value, (short*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToUInt16(TVariantInParam value/*[in]*/, 
                                      unsigned_short* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToUInt16"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI2:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_short __fastcall
IFormatterConverterDispT<T>::ToUInt16(TVariantInParam value/*[in]*/)
{
  unsigned_short pRetVal;
  this->ToUInt16(value, (unsigned_short*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToInt32(TVariantInParam value/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToInt32"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
IFormatterConverterDispT<T>::ToInt32(TVariantInParam value/*[in]*/)
{
  long pRetVal;
  this->ToInt32(value, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToUInt32(TVariantInParam value/*[in]*/, 
                                      unsigned_long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToUInt32"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_long __fastcall
IFormatterConverterDispT<T>::ToUInt32(TVariantInParam value/*[in]*/)
{
  unsigned_long pRetVal;
  this->ToUInt32(value, (unsigned_long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToInt64(TVariantInParam value/*[in]*/, __int64* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToInt64"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I8:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> __int64 __fastcall
IFormatterConverterDispT<T>::ToInt64(TVariantInParam value/*[in]*/)
{
  __int64 pRetVal;
  this->ToInt64(value, (__int64*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToUInt64(TVariantInParam value/*[in]*/, 
                                      unsigned_int64* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToUInt64"), DISPID(DISPID_UNKNOWN/*[1610743819]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_UI8:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> unsigned_int64 __fastcall
IFormatterConverterDispT<T>::ToUInt64(TVariantInParam value/*[in]*/)
{
  unsigned_int64 pRetVal;
  this->ToUInt64(value, (unsigned_int64*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToSingle(TVariantInParam value/*[in]*/, float* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToSingle"), DISPID(DISPID_UNKNOWN/*[1610743820]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_R4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> float __fastcall
IFormatterConverterDispT<T>::ToSingle(TVariantInParam value/*[in]*/)
{
  float pRetVal;
  this->ToSingle(value, (float*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToDouble(TVariantInParam value/*[in]*/, double* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToDouble"), DISPID(DISPID_UNKNOWN/*[1610743821]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_R8:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> double __fastcall
IFormatterConverterDispT<T>::ToDouble(TVariantInParam value/*[in]*/)
{
  double pRetVal;
  this->ToDouble(value, (double*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToDecimal(TVariantInParam value/*[in]*/, 
                                       DECIMAL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToDecimal"), DISPID(DISPID_UNKNOWN/*[1610743822]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_DECIMAL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> DECIMAL __fastcall
IFormatterConverterDispT<T>::ToDecimal(TVariantInParam value/*[in]*/)
{
  DECIMAL pRetVal;
  this->ToDecimal(value, (DECIMAL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::ToDateTime(TVariantInParam value/*[in]*/, DATE* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToDateTime"), DISPID(DISPID_UNKNOWN/*[1610743823]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_DATE:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> DATE __fastcall
IFormatterConverterDispT<T>::ToDateTime(TVariantInParam value/*[in]*/)
{
  DATE pRetVal;
  this->ToDateTime(value, (DATE*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFormatterConverterDispT<T>::get_ToString(TVariantInParam value/*[in]*/, 
                                          BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(DISPID_UNKNOWN/*[1610743824]*/));
  TAutoArgs<1> _args;
  _args[1] = value /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IFormatterConverterDispT<T>::get_ToString(TVariantInParam value/*[in]*/)
{
  BSTR pRetVal;
  this->get_ToString(value, (BSTR*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_FormatterConverter
// Interface: _FormatterConverter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FormatterConverter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3FAA35EE-C867-3E2E-BF48-2DA271F88303}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FormatterServices
// Interface: _FormatterServices
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FormatterServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F859954A-78CF-3D00-86AB-EF661E6A4B8D}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ISerializationSurrogate
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {62339172-DBFA-337B-8AC8-053B241E06AB}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISerializationSurrogateDispT<T>::GetObjectData(TVariantInParam obj/*[in]*/, 
                                               Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                               /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context)
{
  _TDispID _dispid(*this, OLETEXT("GetObjectData"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_SerializationInfo*)info /*[VT_USERDEFINED:1]*/;
  _args[3] = Context /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISerializationSurrogateDispT<T>::SetObjectData(TVariantInParam obj/*[in]*/, 
                                               Mscorlib_tlb::_SerializationInfoPtr info/*[in]*/, 
                                               /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context
                                               , 
                                               Mscorlib_tlb::ISurrogateSelectorPtr selector/*[in]*/
                                               , TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SetObjectData"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<4> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_SerializationInfo*)info /*[VT_USERDEFINED:1]*/;
  _args[3] = Context /*[VT_USERDEFINED:0]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::ISurrogateSelector*)selector /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

// *********************************************************************//
// DispIntf:  ISurrogateSelector
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7C66FF18-A1A5-3E19-857B-0E7B6A9E3F38}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISurrogateSelectorDispT<T>::ChainSelector(Mscorlib_tlb::ISurrogateSelectorPtr selector/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChainSelector"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISurrogateSelector*)selector /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISurrogateSelectorDispT<T>::GetSurrogate(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                         /*AUTO_PARAM_ERROR(Mscorlib_tlb::StreamingContext Context)*/ TVariant&  Context
                                         , Mscorlib_tlb::ISurrogateSelectorPtr* selector/*[out]*/, 
                                         Mscorlib_tlb::ISerializationSurrogatePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetSurrogate"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  _args[2] = Context /*[VT_USERDEFINED:0]*/;
  _args[3] = (LPDISPATCH*)(Mscorlib_tlb::ISurrogateSelector**)selector /*[VT_USERDEFINED:2]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISerializationSurrogate**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ISurrogateSelectorDispT<T>::GetNextSelector(Mscorlib_tlb::ISurrogateSelectorPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetNextSelector"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::ISurrogateSelector**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::ISurrogateSelectorPtr __fastcall
ISurrogateSelectorDispT<T>::GetNextSelector(void)
{
  Mscorlib_tlb::ISurrogateSelectorPtr pRetVal;
  this->GetNextSelector((Mscorlib_tlb::ISurrogateSelectorPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_ObjectIDGenerator
// Interface: _ObjectIDGenerator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObjectIDGenerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A30646CC-F710-3BFA-A356-B4C858D4ED8E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ObjectManager
// Interface: _ObjectManager
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObjectManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F28E7D04-3319-3968-8201-C6E55BECD3D4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OptionalFieldAttribute
// Interface: _OptionalFieldAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OptionalFieldAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FECA70D4-AE27-3D94-93DD-A90F02E299D5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OnSerializingAttribute
// Interface: _OnSerializingAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OnSerializingAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9EC28D2C-04C0-35F3-A7EE-0013271FF65E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OnSerializedAttribute
// Interface: _OnSerializedAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OnSerializedAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {547BF8CD-F2A8-3B41-966D-98DB33DED06D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OnDeserializingAttribute
// Interface: _OnDeserializingAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OnDeserializingAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F5AEF88F-9AC4-320C-95D2-88E863A35762}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OnDeserializedAttribute
// Interface: _OnDeserializedAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OnDeserializedAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DD36C803-73D1-338D-88BA-DC9EB7620EF7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SerializationBinder
// Interface: _SerializationBinder
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SerializationBinder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {450222D0-87CA-3699-A7B4-D8A0FDB72357}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SerializationInfo
// Interface: _SerializationInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SerializationInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B58D62CF-B03A-3A14-B0B6-B1E5AD4E4AD5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SerializationInfoEnumerator
// Interface: _SerializationInfoEnumerator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SerializationInfoEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {607056C6-1BCA-36C8-AB87-33B202EBF0D8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SerializationException
// Interface: _SerializationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SerializationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {245FE7FD-E020-3053-B5F6-7467FD2C6883}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SurrogateSelector
// Interface: _SurrogateSelector
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SurrogateSelector
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6DE1230E-1F52-3779-9619-F5184103466C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Calendar
// Interface: _Calendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Calendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4CCA29E4-584B-3CD0-AD25-855DC5799C16}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_EastAsianLunisolarCalendar
// Interface: _EastAsianLunisolarCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EastAsianLunisolarCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {89E148C4-2424-30AE-80F5-C5D21EA3366C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CompareInfo
// Interface: _CompareInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CompareInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {505DEFE5-AEFA-3E23-82B0-D5EB085BB840}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CultureInfo
// Interface: _CultureInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CultureInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {152722C2-F0B1-3D19-ADA8-F40CA5CAECB8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DateTimeFormatInfo
// Interface: _DateTimeFormatInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DateTimeFormatInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {015E9F67-337C-398A-A0C1-DA4AF1905571}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DaylightTime
// Interface: _DaylightTime
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DaylightTime
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EFEA8FEB-EE7F-3E48-8A36-6206A6ACBF73}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_GregorianCalendar
// Interface: _GregorianCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GregorianCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {677AD8B5-8A0E-3C39-92FB-72FB817CF694}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HebrewCalendar
// Interface: _HebrewCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HebrewCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {96A62D6C-72A9-387A-81FA-E6DD5998CAEE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HijriCalendar
// Interface: _HijriCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HijriCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {28DDC187-56B2-34CF-A078-48BD1E113D1E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_JapaneseCalendar
// Interface: _JapaneseCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _JapaneseCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D662AE3F-CEF9-38B4-BB8E-5D8DD1DBF806}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_JulianCalendar
// Interface: _JulianCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _JulianCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {36E2DE92-1FB3-3D7D-BA26-9CAD5B98DD52}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KoreanCalendar
// Interface: _KoreanCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KoreanCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {48BEA6C4-752E-3974-8CA8-CFB6274E2379}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RegionInfo
// Interface: _RegionInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RegionInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F9E97E04-4E1E-368F-B6C6-5E96CE4362D6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SortKey
// Interface: _SortKey
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SortKey
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4C70E15-2CA6-3E90-96ED-92E28491F538}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StringInfo
// Interface: _StringInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StringInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0A25141F-51B3-3121-AA30-0AF4556A52D9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TaiwanCalendar
// Interface: _TaiwanCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TaiwanCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0C08ED74-0ACF-32A9-99DF-09A9DC4786DD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TextElementEnumerator
// Interface: _TextElementEnumerator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TextElementEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8C248251-3E6C-3151-9F8E-A255FB8D2B12}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TextInfo
// Interface: _TextInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TextInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DB8DE23F-F264-39AC-B61C-CC1E7EB4A5E6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ThaiBuddhistCalendar
// Interface: _ThaiBuddhistCalendar
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ThaiBuddhistCalendar
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C70C8AE8-925B-37CE-8944-34F15FF94307}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NumberFormatInfo
// Interface: _NumberFormatInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NumberFormatInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {25E47D71-20DD-31BE-B261-7AE76497D6B9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Encoding
// Interface: _Encoding
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Encoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DDEDB94D-4F3F-35C1-97C9-3F1D87628D9E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Encoder
// Interface: _Encoder
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Encoder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8FD56502-8724-3DF0-A1B5-9D0E8D4E4F78}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Decoder
// Interface: _Decoder
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Decoder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2ADB0D4A-5976-38E4-852B-C131797430F5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ASCIIEncoding
// Interface: _ASCIIEncoding
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ASCIIEncoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0CBE0204-12A1-3D40-9D9E-195DE6AAA534}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnicodeEncoding
// Interface: _UnicodeEncoding
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnicodeEncoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F7DD3B7F-2B05-3894-8EDA-59CDF9395B6A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UTF7Encoding
// Interface: _UTF7Encoding
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UTF7Encoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {89B9F00B-AA2A-3A49-91B4-E8D1F1C00E58}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UTF8Encoding
// Interface: _UTF8Encoding
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UTF8Encoding
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {010FC1D0-3EF9-3F3B-AA0A-B78A1FF83A37}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IResourceReader
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {8965A22F-FBA8-36AD-8132-70BBD0DA457D}
// *********************************************************************//
template <class T> HRESULT __fastcall
IResourceReaderDispT<T>::Close()
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IResourceReaderDispT<T>::GetEnumerator(Mscorlib_tlb::IDictionaryEnumeratorPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetEnumerator"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IDictionaryEnumerator**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IDictionaryEnumeratorPtr __fastcall
IResourceReaderDispT<T>::GetEnumerator(void)
{
  Mscorlib_tlb::IDictionaryEnumeratorPtr pRetVal;
  this->GetEnumerator((Mscorlib_tlb::IDictionaryEnumeratorPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IResourceWriter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E97AA6E5-595E-31C3-82F0-688FB91954C6}
// *********************************************************************//
template <class T> HRESULT __fastcall
IResourceWriterDispT<T>::AddResource(BSTR name/*[in]*/, BSTR value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddResource"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = value /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IResourceWriterDispT<T>::AddResource_2(BSTR name/*[in]*/, TVariantInParam value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddResource_2"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = value /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IResourceWriterDispT<T>::AddResource_3(BSTR name/*[in]*/, LPSAFEARRAY value/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddResource_3"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = value /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IResourceWriterDispT<T>::Close()
{
  _TDispID _dispid(*this, OLETEXT("Close"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IResourceWriterDispT<T>::Generate()
{
  _TDispID _dispid(*this, OLETEXT("Generate"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  return OleFunction(_dispid);
}

// *********************************************************************//
// SmartIntf: TCOM_MissingManifestResourceException
// Interface: _MissingManifestResourceException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MissingManifestResourceException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1A4E1878-FE8C-3F59-B6A9-21AB82BE57E9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MissingSatelliteAssemblyException
// Interface: _MissingSatelliteAssemblyException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MissingSatelliteAssemblyException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5A8DE087-D9D7-3BBA-92B4-FE1034A1242F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NeutralResourcesLanguageAttribute
// Interface: _NeutralResourcesLanguageAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NeutralResourcesLanguageAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F48DF808-8B7D-3F4E-9159-1DFD60F298D6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ResourceManager
// Interface: _ResourceManager
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ResourceManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4DE671B7-7C85-37E9-AFF8-1222ABE4883E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ResourceReader
// Interface: _ResourceReader
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ResourceReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7FBCFDC7-5CEC-3945-8095-DAED61BE5FB1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ResourceSet
// Interface: _ResourceSet
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ResourceSet
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {44D5F81A-727C-35AE-8DF8-9FF6722F1C6C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ResourceWriter
// Interface: _ResourceWriter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ResourceWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AF170258-AAC6-3A86-BD34-303E62CED10E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SatelliteContractVersionAttribute
// Interface: _SatelliteContractVersionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SatelliteContractVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5CBB1F47-FBA5-33B9-9D4A-57D6E3D133D2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Registry
// Interface: _Registry
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Registry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {23BAE0C0-3A36-32F0-9DAD-0E95ADD67D23}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RegistryKey
// Interface: _RegistryKey
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RegistryKey
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2EAC6733-8D92-31D9-BE04-DC467EFC3EB1}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ISecurityEncodable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FD46BDE5-ACDF-3CA5-B189-F0678387077F}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISecurityEncodableDispT<T>::ToXml(Mscorlib_tlb::_SecurityElementPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToXml"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_SecurityElement**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_SecurityElementPtr __fastcall
ISecurityEncodableDispT<T>::ToXml(void)
{
  Mscorlib_tlb::_SecurityElementPtr pRetVal;
  this->ToXml((Mscorlib_tlb::_SecurityElementPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISecurityEncodableDispT<T>::FromXml(Mscorlib_tlb::_SecurityElementPtr e/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FromXml"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_SecurityElement*)e /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ISecurityPolicyEncodable
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E6C21BA7-21BB-34E9-8E57-DB66D8CE4A70}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISecurityPolicyEncodableDispT<T>::ToXml(Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/, 
                                        Mscorlib_tlb::_SecurityElementPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToXml"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_PolicyLevel*)level /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_SecurityElement**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_SecurityElementPtr __fastcall
ISecurityPolicyEncodableDispT<T>::ToXml(Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/)
{
  Mscorlib_tlb::_SecurityElementPtr pRetVal;
  this->ToXml(level, (Mscorlib_tlb::_SecurityElementPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISecurityPolicyEncodableDispT<T>::FromXml(Mscorlib_tlb::_SecurityElementPtr e/*[in]*/, 
                                          Mscorlib_tlb::_PolicyLevelPtr level/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FromXml"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_SecurityElement*)e /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_PolicyLevel*)level /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IMembershipCondition
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6844EFF4-4F86-3CA1-A1EA-AAF583A6395E}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMembershipConditionDispT<T>::Check(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/, 
                                    TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Check"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Evidence*)Evidence /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMembershipConditionDispT<T>::Check(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Check(Evidence, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMembershipConditionDispT<T>::Copy(Mscorlib_tlb::IMembershipConditionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMembershipCondition**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMembershipConditionPtr __fastcall
IMembershipConditionDispT<T>::Copy(void)
{
  Mscorlib_tlb::IMembershipConditionPtr pRetVal;
  this->Copy((Mscorlib_tlb::IMembershipConditionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMembershipConditionDispT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IMembershipConditionDispT<T>::get_ToString(void)
{
  BSTR pRetVal;
  this->get_ToString((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMembershipConditionDispT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMembershipConditionDispT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(obj, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_AllMembershipCondition
// Interface: _AllMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AllMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {99F01720-3CC2-366D-9AB9-50E36647617F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationDirectory
// Interface: _ApplicationDirectory
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationDirectory
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9CCC831B-1BA7-34BE-A966-56D5A6DB5AAD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationDirectoryMembershipCondition
// Interface: _ApplicationDirectoryMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationDirectoryMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A02A2B22-1DBA-3F92-9F84-5563182851BB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationSecurityInfo
// Interface: _ApplicationSecurityInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationSecurityInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {18E473F6-637B-3C01-8D46-D011AAD26C95}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationSecurityManager
// Interface: _ApplicationSecurityManager
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationSecurityManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C664FE09-0A55-316D-B25B-6B3200ECAF70}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationTrust
// Interface: _ApplicationTrust
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationTrust
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E66A9755-58E2-3FCB-A265-835851CBF063}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationTrustCollection
// Interface: _ApplicationTrustCollection
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationTrustCollection
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BB03C920-1C05-3ECB-982D-53324D5AC9FF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ApplicationTrustEnumerator
// Interface: _ApplicationTrustEnumerator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ApplicationTrustEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {01AFD447-60CA-3B67-803A-E57B727F3A5B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CodeGroup
// Interface: _CodeGroup
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D7093F61-ED6B-343F-B1E9-02472FCC710E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Evidence
// Interface: _Evidence
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Evidence
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A505EDBC-380E-3B23-9E1A-0974D4EF02EF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileCodeGroup
// Interface: _FileCodeGroup
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DFAD74DC-8390-32F6-9612-1BD293B233F4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FirstMatchCodeGroup
// Interface: _FirstMatchCodeGroup
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FirstMatchCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {54B0AFB1-E7D3-3770-BB0E-75A95E8D2656}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IIdentityPermissionFactory
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4E95244E-C6FC-3A86-8DB7-1712454DE3B6}
// *********************************************************************//
template <class T> HRESULT __fastcall
IIdentityPermissionFactoryDispT<T>::CreateIdentityPermission(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/
                                                             , 
                                                             Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateIdentityPermission"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Evidence*)Evidence /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IPermission**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IPermissionPtr __fastcall
IIdentityPermissionFactoryDispT<T>::CreateIdentityPermission(Mscorlib_tlb::_EvidencePtr Evidence/*[in]*/)
{
  Mscorlib_tlb::IPermissionPtr pRetVal;
  this->CreateIdentityPermission(Evidence, (Mscorlib_tlb::IPermissionPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IApplicationTrustManager
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {427E255D-AF02-3B0D-8CE3-A2BB94BA300F}
// *********************************************************************//
template <class T> HRESULT __fastcall
IApplicationTrustManagerDispT<T>::DetermineApplicationTrust(LPUNKNOWN activationContext/*[in]*/, 
                                                            Mscorlib_tlb::_TrustManagerContextPtr Context/*[in]*/
                                                            , 
                                                            Mscorlib_tlb::_ApplicationTrustPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DetermineApplicationTrust"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = activationContext /*[VT_UNKNOWN:0]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_TrustManagerContext*)Context /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_ApplicationTrust**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ApplicationTrustPtr __fastcall
IApplicationTrustManagerDispT<T>::DetermineApplicationTrust(LPUNKNOWN activationContext/*[in]*/, 
                                                            Mscorlib_tlb::_TrustManagerContextPtr Context/*[in]*/)
{
  Mscorlib_tlb::_ApplicationTrustPtr pRetVal;
  this->DetermineApplicationTrust(activationContext, Context, (Mscorlib_tlb::_ApplicationTrustPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_TrustManagerContext
// Interface: _TrustManagerContext
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TrustManagerContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D89EAC5E-0331-3FCD-9C16-4F1ED3FE1BE2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CodeConnectAccess
// Interface: _CodeConnectAccess
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CodeConnectAccess
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FE8A2546-3478-3FAD-BE1D-DA7BC25C4E4E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NetCodeGroup
// Interface: _NetCodeGroup
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NetCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A8F69ECA-8C48-3B5E-92A1-654925058059}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PermissionRequestEvidence
// Interface: _PermissionRequestEvidence
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PermissionRequestEvidence
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {34B0417E-E71D-304C-9FAC-689350A1B41C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PolicyException
// Interface: _PolicyException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PolicyException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9C9F3D9-E153-39B8-A533-B8DF4664407B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PolicyLevel
// Interface: _PolicyLevel
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PolicyLevel
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {44494E35-C370-3014-BC78-0F2ECBF83F53}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PolicyStatement
// Interface: _PolicyStatement
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PolicyStatement
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3EEFD1FC-4D8D-3177-99F6-6C19D9E088D3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Site
// Interface: _Site
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Site
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {90C40B4C-B0D0-30F5-B520-FDBA97BC31A0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SiteMembershipCondition
// Interface: _SiteMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SiteMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0A7C3542-8031-3593-872C-78D85D7CC273}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StrongName
// Interface: _StrongName
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StrongName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2A75C1FD-06B0-3CBB-B467-2545D4D6C865}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StrongNameMembershipCondition
// Interface: _StrongNameMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StrongNameMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {579E93BC-FFAB-3B8D-9181-CE9C22B51915}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnionCodeGroup
// Interface: _UnionCodeGroup
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnionCodeGroup
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9D822DE-44E5-33CE-A43F-173E475CECB1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Url
// Interface: _Url
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Url
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D94ED9BF-C065-3703-81A2-2F76EA8E312F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UrlMembershipCondition
// Interface: _UrlMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UrlMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BB7A158D-DBD9-3E13-B137-8E61E87E1128}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Zone
// Interface: _Zone
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Zone
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {742E0C26-0E23-3D20-968C-D221094909AA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ZoneMembershipCondition
// Interface: _ZoneMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ZoneMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ADBC3463-0101-3429-A06C-DB2F1DD6B724}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_GacInstalled
// Interface: _GacInstalled
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GacInstalled
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A7AEF52C-B47B-3660-BB3E-34347D56DB46}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_GacMembershipCondition
// Interface: _GacMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GacMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B2217AB5-6E55-3FF6-A1A9-1B0DC0585040}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Hash
// Interface: _Hash
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Hash
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7574E121-74A6-3626-B578-0783BADB19D2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HashMembershipCondition
// Interface: _HashMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HashMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6BA6EA7A-C9FC-3E73-82EC-18F29D83EEFD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Publisher
// Interface: _Publisher
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Publisher
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77CCA693-ABF6-3773-BF58-C0B02701A744}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PublisherMembershipCondition
// Interface: _PublisherMembershipCondition
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PublisherMembershipCondition
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3515CF63-9863-3044-B3E1-210E98EFC702}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IIdentity
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F4205A87-4D46-303D-B1D9-5A99F7C90D30}
// *********************************************************************//
template <class T> HRESULT __fastcall
IIdentityDispT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("name"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IIdentityDispT<T>::get_name(void)
{
  BSTR pRetVal;
  this->get_name((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IIdentityDispT<T>::get_AuthenticationType(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AuthenticationType"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IIdentityDispT<T>::get_AuthenticationType(void)
{
  BSTR pRetVal;
  this->get_AuthenticationType((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IIdentityDispT<T>::get_IsAuthenticated(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsAuthenticated"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IIdentityDispT<T>::get_IsAuthenticated(void)
{
  TOLEBOOL pRetVal;
  this->get_IsAuthenticated((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_GenericIdentity
// Interface: _GenericIdentity
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GenericIdentity
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9A37D8B2-2256-3FE3-8BF0-4FC421A1244F}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IPrincipal
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4283CA6C-D291-3481-83C9-9554481FE888}
// *********************************************************************//
template <class T> HRESULT __fastcall
IPrincipalDispT<T>::get_Identity(Mscorlib_tlb::IIdentityPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Identity"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IIdentity**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IIdentityPtr __fastcall
IPrincipalDispT<T>::get_Identity(void)
{
  Mscorlib_tlb::IIdentityPtr pRetVal;
  this->get_Identity((Mscorlib_tlb::IIdentityPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IPrincipalDispT<T>::IsInRole(BSTR role/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsInRole"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = role /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IPrincipalDispT<T>::IsInRole(BSTR role/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->IsInRole(role, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_GenericPrincipal
// Interface: _GenericPrincipal
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GenericPrincipal
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B4701C26-1509-3726-B2E1-409A636C9B4F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WindowsIdentity
// Interface: _WindowsIdentity
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WindowsIdentity
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D8CF3F23-1A66-3344-8230-07EB53970B85}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WindowsImpersonationContext
// Interface: _WindowsImpersonationContext
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WindowsImpersonationContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {60ECFDDA-650A-324C-B4B3-F4D75B563BB1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WindowsPrincipal
// Interface: _WindowsPrincipal
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WindowsPrincipal
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6C42BAF9-1893-34FC-B3AF-06931E9B34A3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnmanagedFunctionPointerAttribute
// Interface: _UnmanagedFunctionPointerAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnmanagedFunctionPointerAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1B6ED26A-4B7F-34FC-B2C8-8109D684B3DF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DispIdAttribute
// Interface: _DispIdAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DispIdAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BBE41AC5-8692-3427-9AE1-C1058A38D492}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InterfaceTypeAttribute
// Interface: _InterfaceTypeAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InterfaceTypeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A2145F38-CAC1-33DD-A318-21948AF6825D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComDefaultInterfaceAttribute
// Interface: _ComDefaultInterfaceAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComDefaultInterfaceAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0C1E7B57-B9B1-36E4-8396-549C29062A81}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ClassInterfaceAttribute
// Interface: _ClassInterfaceAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ClassInterfaceAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6B6391EE-842F-3E9A-8EEE-F13325E10996}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComVisibleAttribute
// Interface: _ComVisibleAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComVisibleAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1E7FFFE2-AAD9-34EE-8A9F-3C016B880FF0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeLibImportClassAttribute
// Interface: _TypeLibImportClassAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeLibImportClassAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {288A86D1-6F4F-39C9-9E42-162CF1C37226}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_LCIDConversionAttribute
// Interface: _LCIDConversionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _LCIDConversionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4AB67927-3C86-328A-8186-F85357DD5527}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComRegisterFunctionAttribute
// Interface: _ComRegisterFunctionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComRegisterFunctionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {51BA926F-AAB5-3945-B8A6-C8F0F4A7D12B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComUnregisterFunctionAttribute
// Interface: _ComUnregisterFunctionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComUnregisterFunctionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9F164188-34EB-3F86-9F74-0BBE4155E65E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ProgIdAttribute
// Interface: _ProgIdAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ProgIdAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2B9F01DF-5A12-3688-98D6-C34BF5ED1865}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ImportedFromTypeLibAttribute
// Interface: _ImportedFromTypeLibAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ImportedFromTypeLibAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3F3311CE-6BAF-3FB0-B855-489AFF740B6E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IDispatchImplAttribute
// Interface: _IDispatchImplAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IDispatchImplAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5778E7C7-2040-330E-B47A-92974DFFCFD4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComSourceInterfacesAttribute
// Interface: _ComSourceInterfacesAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComSourceInterfacesAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E1984175-55F5-3065-82D8-A683FDFCF0AC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComConversionLossAttribute
// Interface: _ComConversionLossAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComConversionLossAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FD5B6AAC-FF8C-3472-B894-CD6DFADB6939}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeLibTypeAttribute
// Interface: _TypeLibTypeAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeLibTypeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B5A1729E-B721-3121-A838-FDE43AF13468}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeLibFuncAttribute
// Interface: _TypeLibFuncAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeLibFuncAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3D18A8E2-EEDE-3139-B29D-8CAC057955DF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeLibVarAttribute
// Interface: _TypeLibVarAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeLibVarAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7B89862A-02A4-3279-8B42-4095FA3A778E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MarshalAsAttribute
// Interface: _MarshalAsAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MarshalAsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D858399F-E19E-3423-A720-AC12ABE2E5E8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComImportAttribute
// Interface: _ComImportAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComImportAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1B093056-5454-386F-8971-BBCBC4E9A8F3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_GuidAttribute
// Interface: _GuidAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GuidAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {74435DAD-EC55-354B-8F5B-FA70D13B6293}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PreserveSigAttribute
// Interface: _PreserveSigAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PreserveSigAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FDF2A2EE-C882-3198-A48B-E37F0E574DFA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InAttribute
// Interface: _InAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8474B65C-C39A-3D05-893D-577B9A314615}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OutAttribute
// Interface: _OutAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OutAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0697FC8C-9B04-3783-95C7-45ECCAC1CA27}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OptionalAttribute
// Interface: _OptionalAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OptionalAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D6BD9AD-198E-3904-AD99-F6F82A2787C4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DllImportAttribute
// Interface: _DllImportAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DllImportAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1A26181-D55E-3EE2-96E6-70B354EF9371}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StructLayoutAttribute
// Interface: _StructLayoutAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StructLayoutAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {23753322-C7B3-3F9A-AC96-52672C1B1CA9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FieldOffsetAttribute
// Interface: _FieldOffsetAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FieldOffsetAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C14342B8-BAFD-322A-BB71-62C672DA284E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComAliasNameAttribute
// Interface: _ComAliasNameAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComAliasNameAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E78785C4-3A73-3C15-9390-618BF3A14719}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AutomationProxyAttribute
// Interface: _AutomationProxyAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AutomationProxyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {57B908A8-C082-3581-8A47-6B41B86E8FDC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PrimaryInteropAssemblyAttribute
// Interface: _PrimaryInteropAssemblyAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PrimaryInteropAssemblyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C69E96B2-6161-3621-B165-5805198C6B8D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CoClassAttribute
// Interface: _CoClassAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CoClassAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {15D54C00-7C95-38D7-B859-E19346677DCD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComEventInterfaceAttribute
// Interface: _ComEventInterfaceAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComEventInterfaceAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {76CC0491-9A10-35C0-8A66-7931EC345B7F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeLibVersionAttribute
// Interface: _TypeLibVersionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeLibVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A03B61A4-CA61-3460-8232-2F4EC96AA88F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ComCompatibleVersionAttribute
// Interface: _ComCompatibleVersionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ComCompatibleVersionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AD419379-2AC8-3588-AB1E-0115413277C4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BestFitMappingAttribute
// Interface: _BestFitMappingAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BestFitMappingAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ED47ABE7-C84B-39F9-BE1B-828CFB925AFE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DefaultCharSetAttribute
// Interface: _DefaultCharSetAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DefaultCharSetAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B26B3465-28E4-33B5-B9BF-DD7C4F6461F5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SetWin32ContextInIDispatchAttribute
// Interface: _SetWin32ContextInIDispatchAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SetWin32ContextInIDispatchAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A54AC093-BFCE-37B0-A81F-148DFED0971F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ExternalException
// Interface: _ExternalException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ExternalException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A83F04E9-FD28-384A-9DFF-410688AC23AB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_COMException
// Interface: _COMException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _COMException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A28C19DF-B488-34AE-BECC-7DE744D17F7B}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ICustomMarshaler
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {601CD486-04BF-3213-9EA9-06EBE4351D74}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICustomMarshalerDispT<T>::MarshalNativeToManaged(long pNativeData/*[in]*/, 
                                                 TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarshalNativeToManaged"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = pNativeData /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
ICustomMarshalerDispT<T>::MarshalNativeToManaged(long pNativeData/*[in]*/)
{
  TVariant pRetVal;
  this->MarshalNativeToManaged(pNativeData, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICustomMarshalerDispT<T>::MarshalManagedToNative(TVariantInParam ManagedObj/*[in]*/, 
                                                 long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarshalManagedToNative"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = ManagedObj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ICustomMarshalerDispT<T>::MarshalManagedToNative(TVariantInParam ManagedObj/*[in]*/)
{
  long pRetVal;
  this->MarshalManagedToNative(ManagedObj, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICustomMarshalerDispT<T>::CleanUpNativeData(long pNativeData/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CleanUpNativeData"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = pNativeData /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ICustomMarshalerDispT<T>::CleanUpManagedData(TVariantInParam ManagedObj/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CleanUpManagedData"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = ManagedObj /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ICustomMarshalerDispT<T>::GetNativeDataSize(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetNativeDataSize"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ICustomMarshalerDispT<T>::GetNativeDataSize(void)
{
  long pRetVal;
  this->GetNativeDataSize((long*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_InvalidOleVariantTypeException
// Interface: _InvalidOleVariantTypeException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InvalidOleVariantTypeException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {76E5DBD6-F960-3C65-8EA6-FC8AD6A67022}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MarshalDirectiveException
// Interface: _MarshalDirectiveException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MarshalDirectiveException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {523F42A5-1FD2-355D-82BF-0D67C4A0A0E7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RuntimeEnvironment
// Interface: _RuntimeEnvironment
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RuntimeEnvironment
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EDCEE21A-3E3A-331E-A86D-274028BE6716}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SEHException
// Interface: _SEHException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SEHException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3E72E067-4C5E-36C8-BBEF-1E2978C7780D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BStrWrapper
// Interface: _BStrWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BStrWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {80DA5818-609F-32B8-A9F8-95FCFBDB9C8E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CurrencyWrapper
// Interface: _CurrencyWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CurrencyWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7DF6F279-DA62-3C9F-8944-4DD3C0F08170}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DispatchWrapper
// Interface: _DispatchWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DispatchWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {72103C67-D511-329C-B19A-DD5EC3F1206C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ErrorWrapper
// Interface: _ErrorWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ErrorWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F79DB336-06BE-3959-A5AB-58B2AB6C5FD1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ExtensibleClassFactory
// Interface: _ExtensibleClassFactory
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ExtensibleClassFactory
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {519EB857-7A2D-3A95-A2A3-8BB8ED63D41B}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ICustomAdapter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3CC86595-FEB5-3CE9-BA14-D05C8DC3321C}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICustomAdapterDispT<T>::GetUnderlyingObject(LPUNKNOWN* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetUnderlyingObject"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_UNKNOWN:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPUNKNOWN __fastcall
ICustomAdapterDispT<T>::GetUnderlyingObject(void)
{
  LPUNKNOWN pRetVal;
  this->GetUnderlyingObject((LPUNKNOWN*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ICustomFactory
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0CA9008E-EE90-356E-9F6D-B59E6006B9A4}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICustomFactoryDispT<T>::CreateInstance(Mscorlib_tlb::_TypePtr serverType/*[in]*/, 
                                       Mscorlib_tlb::_MarshalByRefObjectPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateInstance"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)serverType /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_MarshalByRefObject**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MarshalByRefObjectPtr __fastcall
ICustomFactoryDispT<T>::CreateInstance(Mscorlib_tlb::_TypePtr serverType/*[in]*/)
{
  Mscorlib_tlb::_MarshalByRefObjectPtr pRetVal;
  this->CreateInstance(serverType, (Mscorlib_tlb::_MarshalByRefObjectPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_InvalidComObjectException
// Interface: _InvalidComObjectException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InvalidComObjectException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DE9156B5-5E7A-3041-BF45-A29A6C2CF48A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOMIRegistrationServices
// Interface: IRegistrationServices
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/, 
                                                TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->RegisterAssembly(Assembly, flags, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOMIRegistrationServicesT<T>::RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->RegisterAssembly(Assembly, flags, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                  TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->UnregisterAssembly(Assembly, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOMIRegistrationServicesT<T>::UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->UnregisterAssembly(Assembly, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                             LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  return (*this)->GetRegistrableTypesInAssembly(Assembly, pRetVal);
}

template <class T> LPSAFEARRAY __fastcall
TCOMIRegistrationServicesT<T>::GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  OLECHECK(this->GetRegistrableTypesInAssembly(Assembly, (LPSAFEARRAY*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->GetProgIdForType(Type, pRetVal);
}

template <class T> BSTR __fastcall
TCOMIRegistrationServicesT<T>::GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/)
{
  BSTR pRetVal = 0;
  OLECHECK(this->GetProgIdForType(Type, (BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::RegisterTypeForComClients(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                         TGUID* G/*[in,out]*/)
{
  return (*this)->RegisterTypeForComClients(Type, G);
}

template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::GetManagedCategoryGuid(TGUID* pRetVal/*[out,retval]*/)
{
  return (*this)->GetManagedCategoryGuid(pRetVal);
}

template <class T> TGUID __fastcall
TCOMIRegistrationServicesT<T>::GetManagedCategoryGuid(void)
{
  TGUID pRetVal;
  OLECHECK(this->GetManagedCategoryGuid((TGUID*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                        TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->TypeRequiresRegistration(Type, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOMIRegistrationServicesT<T>::TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->TypeRequiresRegistration(Type, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMIRegistrationServicesT<T>::TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                     TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->TypeRepresentsComType(Type, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOMIRegistrationServicesT<T>::TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->TypeRepresentsComType(Type, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IRegistrationServices
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CCBD682C-73A5-4568-B8B0-C7007E11ABA2}
// *********************************************************************//
template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/
                                                , TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("RegisterAssembly"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Assembly*)Assembly /*[VT_USERDEFINED:1]*/;
  _args[2] = (int)flags /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IRegistrationServicesDispT<T>::RegisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                Mscorlib_tlb::AssemblyRegistrationFlags flags/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->RegisterAssembly(Assembly, flags, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                  TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("UnregisterAssembly"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Assembly*)Assembly /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IRegistrationServicesDispT<T>::UnregisterAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->UnregisterAssembly(Assembly, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/
                                                             , LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetRegistrableTypesInAssembly"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Assembly*)Assembly /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IRegistrationServicesDispT<T>::GetRegistrableTypesInAssembly(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetRegistrableTypesInAssembly(Assembly, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetProgIdForType"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
IRegistrationServicesDispT<T>::GetProgIdForType(Mscorlib_tlb::_TypePtr Type/*[in]*/)
{
  BSTR pRetVal;
  this->GetProgIdForType(Type, (BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::RegisterTypeForComClients(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                         /*AUTO_PARAM_ERROR(TGUID* G)*/ TVariant&  G)
{
  _TDispID _dispid(*this, OLETEXT("RegisterTypeForComClients"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  _args[2] = G /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::GetManagedCategoryGuid(/*AUTO_PARAM_ERROR(TGUID* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("GetManagedCategoryGuid"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                        TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TypeRequiresRegistration"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IRegistrationServicesDispT<T>::TypeRequiresRegistration(Mscorlib_tlb::_TypePtr Type/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->TypeRequiresRegistration(Type, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IRegistrationServicesDispT<T>::TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/, 
                                                     TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TypeRepresentsComType"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)Type /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IRegistrationServicesDispT<T>::TypeRepresentsComType(Mscorlib_tlb::_TypePtr Type/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->TypeRepresentsComType(Type, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOMITypeLibConverter
// Interface: ITypeLibConverter
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOMITypeLibConverterT<T>::ConvertTypeLibToAssembly(LPUNKNOWN typeLib/*[in]*/, 
                                                    BSTR asmFileName/*[in]*/, 
                                                    Mscorlib_tlb::TypeLibImporterFlags flags/*[in]*/, 
                                                    Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                    LPSAFEARRAY publicKey/*[in]*/, 
                                                    Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                    BSTR asmNamespace/*[in]*/, 
                                                    Mscorlib_tlb::_VersionPtr asmVersion/*[in]*/, 
                                                    Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->ConvertTypeLibToAssembly(typeLib, asmFileName, flags, notifySink, publicKey, 
                                           keyPair, asmNamespace, asmVersion, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOMITypeLibConverterT<T>::ConvertTypeLibToAssembly(LPUNKNOWN typeLib/*[in]*/, 
                                                    BSTR asmFileName/*[in]*/, 
                                                    Mscorlib_tlb::TypeLibImporterFlags flags/*[in]*/, 
                                                    Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                    LPSAFEARRAY publicKey/*[in]*/, 
                                                    Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                    BSTR asmNamespace/*[in]*/, 
                                                    Mscorlib_tlb::_VersionPtr asmVersion/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->ConvertTypeLibToAssembly(typeLib, asmFileName, flags, notifySink, publicKey, 
                                          keyPair, asmNamespace, asmVersion, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMITypeLibConverterT<T>::ConvertAssemblyToTypeLib(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                    BSTR typeLibName/*[in]*/, 
                                                    Mscorlib_tlb::TypeLibExporterFlags flags/*[in]*/, 
                                                    Mscorlib_tlb::ITypeLibExporterNotifySinkPtr notifySink/*[in]*/, 
                                                    LPUNKNOWN* pRetVal/*[out,retval]*/)
{
  return (*this)->ConvertAssemblyToTypeLib(Assembly, typeLibName, flags, notifySink, pRetVal);
}

template <class T> LPUNKNOWN __fastcall
TCOMITypeLibConverterT<T>::ConvertAssemblyToTypeLib(Mscorlib_tlb::_AssemblyPtr Assembly/*[in]*/, 
                                                    BSTR typeLibName/*[in]*/, 
                                                    Mscorlib_tlb::TypeLibExporterFlags flags/*[in]*/, 
                                                    Mscorlib_tlb::ITypeLibExporterNotifySinkPtr notifySink/*[in]*/)
{
  LPUNKNOWN pRetVal;
  OLECHECK(this->ConvertAssemblyToTypeLib(Assembly, typeLibName, flags, notifySink, (LPUNKNOWN*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMITypeLibConverterT<T>::GetPrimaryInteropAssembly(TGUID G/*[in]*/, long major/*[in]*/, 
                                                     long minor/*[in]*/, long lcid/*[in]*/, 
                                                     BSTR* asmName/*[out]*/, 
                                                     BSTR* asmCodeBase/*[out]*/, 
                                                     TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->GetPrimaryInteropAssembly(G, major, minor, lcid, asmName, asmCodeBase, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOMITypeLibConverterT<T>::GetPrimaryInteropAssembly(TGUID G/*[in]*/, long major/*[in]*/, 
                                                     long minor/*[in]*/, long lcid/*[in]*/, 
                                                     BSTR* asmName/*[out]*/, 
                                                     BSTR* asmCodeBase/*[out]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->GetPrimaryInteropAssembly(G, major, minor, lcid, asmName, asmCodeBase, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOMITypeLibConverterT<T>::ConvertTypeLibToAssembly_2(LPUNKNOWN typeLib/*[in]*/, 
                                                      BSTR asmFileName/*[in]*/, long flags/*[in]*/, 
                                                      Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                      LPSAFEARRAY publicKey/*[in]*/, 
                                                      Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                      TOLEBOOL unsafeInterfaces/*[in]*/, 
                                                      Mscorlib_tlb::_AssemblyBuilderPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->ConvertTypeLibToAssembly_2(typeLib, asmFileName, flags, notifySink, publicKey, 
                                             keyPair, unsafeInterfaces, pRetVal);
}

template <class T> Mscorlib_tlb::_AssemblyBuilderPtr __fastcall
TCOMITypeLibConverterT<T>::ConvertTypeLibToAssembly_2(LPUNKNOWN typeLib/*[in]*/, 
                                                      BSTR asmFileName/*[in]*/, long flags/*[in]*/, 
                                                      Mscorlib_tlb::ITypeLibImporterNotifySinkPtr notifySink/*[in]*/, 
                                                      LPSAFEARRAY publicKey/*[in]*/, 
                                                      Mscorlib_tlb::_StrongNameKeyPairPtr keyPair/*[in]*/, 
                                                      TOLEBOOL unsafeInterfaces/*[in]*/)
{
  Mscorlib_tlb::_AssemblyBuilderPtr pRetVal;
  OLECHECK(this->ConvertTypeLibToAssembly_2(typeLib, asmFileName, flags, notifySink, publicKey, 
                                            keyPair, unsafeInterfaces, (Mscorlib_tlb::_AssemblyBuilderPtr*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_ObjectCreationDelegate
// Interface: _ObjectCreationDelegate
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObjectCreationDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E4A369D3-6CF0-3B05-9C0C-1A91E331641A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SafeArrayRankMismatchException
// Interface: _SafeArrayRankMismatchException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SafeArrayRankMismatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8608FE7B-2FDC-318A-B711-6F7B2FEDED06}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SafeArrayTypeMismatchException
// Interface: _SafeArrayTypeMismatchException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SafeArrayTypeMismatchException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E093FB32-E43B-3B3F-A163-742C920C2AF3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnknownWrapper
// Interface: _UnknownWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnknownWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1C8D8B14-4589-3DCA-8E0F-A30E80FBD1A8}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IExpando
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AFBF15E6-C37C-11D2-B88E-00A0C9B471B8}
// *********************************************************************//
template <class T> HRESULT __fastcall
IExpandoDispT<T>::AddField(BSTR name/*[in]*/, Mscorlib_tlb::_FieldInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddField"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_FieldInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_FieldInfoPtr __fastcall
IExpandoDispT<T>::AddField(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_FieldInfoPtr pRetVal;
  this->AddField(name, (Mscorlib_tlb::_FieldInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IExpandoDispT<T>::AddProperty(BSTR name/*[in]*/, 
                              Mscorlib_tlb::_PropertyInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddProperty"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_PropertyInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_PropertyInfoPtr __fastcall
IExpandoDispT<T>::AddProperty(BSTR name/*[in]*/)
{
  Mscorlib_tlb::_PropertyInfoPtr pRetVal;
  this->AddProperty(name, (Mscorlib_tlb::_PropertyInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IExpandoDispT<T>::AddMethod(BSTR name/*[in]*/, Mscorlib_tlb::_DelegatePtr Method/*[in]*/, 
                            Mscorlib_tlb::_MethodInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddMethod"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<2> _args;
  _args[1] = name /*[VT_BSTR:0]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_Delegate*)Method /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodInfoPtr __fastcall
IExpandoDispT<T>::AddMethod(BSTR name/*[in]*/, Mscorlib_tlb::_DelegatePtr Method/*[in]*/)
{
  Mscorlib_tlb::_MethodInfoPtr pRetVal;
  this->AddMethod(name, Method, (Mscorlib_tlb::_MethodInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IExpandoDispT<T>::RemoveMember(Mscorlib_tlb::_MemberInfoPtr m/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("RemoveMember"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_MemberInfo*)m /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_Stream
// Interface: _Stream
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Stream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2752364A-924F-3603-8F6F-6586DF98B292}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BinaryReader
// Interface: _BinaryReader
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BinaryReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {442E3C03-A205-3F21-AA4D-31768BB8EA28}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BinaryWriter
// Interface: _BinaryWriter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BinaryWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4CA8147E-BAA3-3A7F-92CE-A4FD7F17D8DA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BufferedStream
// Interface: _BufferedStream
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BufferedStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4B7571C3-1275-3457-8FEE-9976FD3937E3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Directory
// Interface: _Directory
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Directory
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8CE58FF5-F26D-38A4-9195-0E2ECB3B56B9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileSystemInfo
// Interface: _FileSystemInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileSystemInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A5D29A57-36A8-3E36-A099-7458B1FABAA2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DirectoryInfo
// Interface: _DirectoryInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DirectoryInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {487E52F1-2BB9-3BD0-A0CA-6728B3A1D051}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IOException
// Interface: _IOException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IOException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C5BFC9BF-27A7-3A59-A986-44C85F3521BF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DirectoryNotFoundException
// Interface: _DirectoryNotFoundException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DirectoryNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C8A200E4-9735-30E4-B168-ED861A3020F2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DriveInfo
// Interface: _DriveInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DriveInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CE83A763-940F-341F-B880-332325EB6F4B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DriveNotFoundException
// Interface: _DriveNotFoundException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DriveNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B24E9559-A662-3762-AE33-BC7DFDD538F4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_EndOfStreamException
// Interface: _EndOfStreamException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EndOfStreamException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D625AFD0-8FD9-3113-A900-43912A54C421}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_File
// Interface: _File
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _File
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5D59051F-E19D-329A-9962-FD00D552E13D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileInfo
// Interface: _FileInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C3C429F9-8590-3A01-B2B2-434837F3D16D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileLoadException
// Interface: _FileLoadException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileLoadException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {51D2C393-9B70-3551-84B5-FF5409FB3ADA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileNotFoundException
// Interface: _FileNotFoundException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileNotFoundException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A15A976B-81E3-3EF4-8FF1-D75DDBE20AEF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileStream
// Interface: _FileStream
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {74265195-4A46-3D6F-A9DD-69C367EA39C8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MemoryStream
// Interface: _MemoryStream
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MemoryStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2DBC46FE-B3DD-3858-AFC2-D3A2D492A588}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Path
// Interface: _Path
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Path
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6DF93530-D276-31D9-8573-346778C650AF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PathTooLongException
// Interface: _PathTooLongException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PathTooLongException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {468B8EB4-89AC-381B-8F86-5E47EC0648B4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TextReader
// Interface: _TextReader
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TextReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {897471F2-9450-3F03-A41F-D2E1F1397854}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StreamReader
// Interface: _StreamReader
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StreamReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E645B470-DC3F-3CE0-8104-5837FEDA04B3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TextWriter
// Interface: _TextWriter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TextWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {556137EA-8825-30BC-9D49-E47A9DB034EE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StreamWriter
// Interface: _StreamWriter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StreamWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1F124E1C-D05D-3643-A59F-C3DE6051994F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StringReader
// Interface: _StringReader
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StringReader
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {59733B03-0EA5-358C-95B5-659FCD9AA0B4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StringWriter
// Interface: _StringWriter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StringWriter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CB9F94C0-D691-3B62-B0B2-3CE5309CFA62}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AccessedThroughPropertyAttribute
// Interface: _AccessedThroughPropertyAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AccessedThroughPropertyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {998DCF16-F603-355D-8C89-3B675947997F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CallConvCdecl
// Interface: _CallConvCdecl
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CallConvCdecl
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A6C2239B-08E6-3822-9769-E3D4B0431B82}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CallConvStdcall
// Interface: _CallConvStdcall
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CallConvStdcall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8E17A5CD-1160-32DC-8548-407E7C3827C9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CallConvThiscall
// Interface: _CallConvThiscall
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CallConvThiscall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FA73DD3D-A472-35ED-B8BE-F99A13581F72}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CallConvFastcall
// Interface: _CallConvFastcall
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CallConvFastcall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3B452D17-3C5E-36C4-A12D-5E9276036CF8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CustomConstantAttribute
// Interface: _CustomConstantAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CustomConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {62CAF4A2-6A78-3FC7-AF81-A6BBF930761F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DateTimeConstantAttribute
// Interface: _DateTimeConstantAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DateTimeConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EF387020-B664-3ACD-A1D2-806345845953}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DiscardableAttribute
// Interface: _DiscardableAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DiscardableAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3C3A8C69-7417-32FA-AA20-762D85E1B594}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DecimalConstantAttribute
// Interface: _DecimalConstantAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DecimalConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7E133967-CCEC-3E89-8BD2-6CFCA649ECBF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CompilationRelaxationsAttribute
// Interface: _CompilationRelaxationsAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CompilationRelaxationsAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C5C4F625-2329-3382-8994-AAF561E5DFE9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CompilerGlobalScopeAttribute
// Interface: _CompilerGlobalScopeAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CompilerGlobalScopeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1EED213E-656A-3A73-A4B9-0D3B26FD942B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IndexerNameAttribute
// Interface: _IndexerNameAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IndexerNameAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {243368F5-67C9-3510-9424-335A8A67772F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsVolatile
// Interface: _IsVolatile
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsVolatile
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0278C819-0C06-3756-B053-601A3E566D9B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodImplAttribute
// Interface: _MethodImplAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MethodImplAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {98966503-5D80-3242-83EF-79E136F6B954}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RequiredAttributeAttribute
// Interface: _RequiredAttributeAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RequiredAttributeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DB2C11D9-3870-35E7-A10C-A3DDC3DC79B1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsCopyConstructed
// Interface: _IsCopyConstructed
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsCopyConstructed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F68A4008-AB94-3370-A9AC-8CC99939F534}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NativeCppClassAttribute
// Interface: _NativeCppClassAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NativeCppClassAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {40E8E914-DC23-38A6-936B-90E4E3AB01FA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IDispatchConstantAttribute
// Interface: _IDispatchConstantAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IDispatchConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {97D0B28A-6932-3D74-B67F-6BCD3C921E7D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IUnknownConstantAttribute
// Interface: _IUnknownConstantAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IUnknownConstantAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {54542649-CE64-3F96-BCE5-FDE3BB22F242}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SecurityElement
// Interface: _SecurityElement
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SecurityElement
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8D597C42-2CFD-32B6-B6D6-86C9E2CFF00A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_XmlSyntaxException
// Interface: _XmlSyntaxException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _XmlSyntaxException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9FCAD88-D869-3788-A802-1B1E007C7A22}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IPermission
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {A19B3FC6-D680-3DD4-A17A-F58A7D481494}
// *********************************************************************//
template <class T> HRESULT __fastcall
IPermissionDispT<T>::Copy(Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Copy"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IPermission**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IPermissionPtr __fastcall
IPermissionDispT<T>::Copy(void)
{
  Mscorlib_tlb::IPermissionPtr pRetVal;
  this->Copy((Mscorlib_tlb::IPermissionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IPermissionDispT<T>::Intersect(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                               Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Intersect"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IPermission*)Target /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IPermission**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IPermissionPtr __fastcall
IPermissionDispT<T>::Intersect(Mscorlib_tlb::IPermissionPtr Target/*[in]*/)
{
  Mscorlib_tlb::IPermissionPtr pRetVal;
  this->Intersect(Target, (Mscorlib_tlb::IPermissionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IPermissionDispT<T>::Union(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                           Mscorlib_tlb::IPermissionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Union"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IPermission*)Target /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IPermission**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IPermissionPtr __fastcall
IPermissionDispT<T>::Union(Mscorlib_tlb::IPermissionPtr Target/*[in]*/)
{
  Mscorlib_tlb::IPermissionPtr pRetVal;
  this->Union(Target, (Mscorlib_tlb::IPermissionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IPermissionDispT<T>::IsSubsetOf(Mscorlib_tlb::IPermissionPtr Target/*[in]*/, 
                                TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsSubsetOf"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IPermission*)Target /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IPermissionDispT<T>::IsSubsetOf(Mscorlib_tlb::IPermissionPtr Target/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->IsSubsetOf(Target, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IPermissionDispT<T>::Demand()
{
  _TDispID _dispid(*this, OLETEXT("Demand"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  return OleFunction(_dispid);
}

// *********************************************************************//
// DispIntf:  IStackWalk
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {60FC57B0-4A46-32A0-A5B4-B05B0DE8E781}
// *********************************************************************//
template <class T> HRESULT __fastcall
IStackWalkDispT<T>::Assert()
{
  _TDispID _dispid(*this, OLETEXT("Assert"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IStackWalkDispT<T>::Demand()
{
  _TDispID _dispid(*this, OLETEXT("Demand"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IStackWalkDispT<T>::Deny()
{
  _TDispID _dispid(*this, OLETEXT("Deny"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  return OleFunction(_dispid);
}

template <class T> HRESULT __fastcall
IStackWalkDispT<T>::PermitOnly()
{
  _TDispID _dispid(*this, OLETEXT("PermitOnly"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  return OleFunction(_dispid);
}

// *********************************************************************//
// SmartIntf: TCOM_CodeAccessPermission
// Interface: _CodeAccessPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CodeAccessPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4803CE39-2F30-31FC-B84B-5A0141385269}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IUnrestrictedPermission
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0F1284E6-4399-3963-8DDD-A6A4904F66C8}
// *********************************************************************//
template <class T> HRESULT __fastcall
IUnrestrictedPermissionDispT<T>::IsUnrestricted(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsUnrestricted"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IUnrestrictedPermissionDispT<T>::IsUnrestricted(void)
{
  TOLEBOOL pRetVal;
  this->IsUnrestricted((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_EnvironmentPermission
// Interface: _EnvironmentPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EnvironmentPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0720590D-5218-352A-A337-5449E6BD19DA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileDialogPermission
// Interface: _FileDialogPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileDialogPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A8B7138C-8932-3D78-A585-A91569C743AC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileIOPermission
// Interface: _FileIOPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileIOPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A2ED7EFC-8E59-3CCC-AE92-EA2377F4D5EF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SecurityAttribute
// Interface: _SecurityAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SecurityAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {48815668-6C27-3312-803E-2757F55CE96A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CodeAccessSecurityAttribute
// Interface: _CodeAccessSecurityAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CodeAccessSecurityAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9C5149CB-D3C6-32FD-A0D5-95350DE7B813}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HostProtectionAttribute
// Interface: _HostProtectionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HostProtectionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9F8F73A3-1E99-3E51-A41B-179A41DC747C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStoragePermission
// Interface: _IsolatedStoragePermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStoragePermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7FEE7903-F97C-3350-AD42-196B00AD2564}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFilePermission
// Interface: _IsolatedStorageFilePermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStorageFilePermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D0C83E8-BDE1-3BA5-B1EF-A8FC686D8BC9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_EnvironmentPermissionAttribute
// Interface: _EnvironmentPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EnvironmentPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4164071A-ED12-3BDD-AF40-FDABCAA77D5F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileDialogPermissionAttribute
// Interface: _FileDialogPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileDialogPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0CCCA629-440F-313E-96CD-BA1B4B4997F7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FileIOPermissionAttribute
// Interface: _FileIOPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FileIOPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0DCA817D-F21A-3943-B54C-5E800CE5BC50}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAttribute
// Interface: _KeyContainerPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EDB51D1C-08AD-346A-BE6F-D74FD6D6F965}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PrincipalPermissionAttribute
// Interface: _PrincipalPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PrincipalPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {68AB69E4-5D68-3B51-B74D-1BEAB9F37F2B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ReflectionPermissionAttribute
// Interface: _ReflectionPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ReflectionPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D31EED10-A5F0-308F-A951-E557961EC568}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RegistryPermissionAttribute
// Interface: _RegistryPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RegistryPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {38B6068C-1E94-3119-8841-1ECA35ED8578}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SecurityPermissionAttribute
// Interface: _SecurityPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SecurityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3A5B876C-CDE4-32D2-9C7E-020A14ACA332}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UIPermissionAttribute
// Interface: _UIPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UIPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1D5C0F70-AF29-38A3-9436-3070A310C73B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ZoneIdentityPermissionAttribute
// Interface: _ZoneIdentityPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ZoneIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2E3BE3ED-2F22-3B20-9F92-BD29B79D6F42}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StrongNameIdentityPermissionAttribute
// Interface: _StrongNameIdentityPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StrongNameIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C9A740F4-26E9-39A8-8885-8CA26BD79B21}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SiteIdentityPermissionAttribute
// Interface: _SiteIdentityPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SiteIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6FE6894A-2A53-3FB6-A06E-348F9BDAD23B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UrlIdentityPermissionAttribute
// Interface: _UrlIdentityPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UrlIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CA4A2073-48C5-3E61-8349-11701A90DD9B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PublisherIdentityPermissionAttribute
// Interface: _PublisherIdentityPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PublisherIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6722C730-1239-3784-AC94-C285AE5B901A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStoragePermissionAttribute
// Interface: _IsolatedStoragePermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStoragePermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5C4C522F-DE4E-3595-9AA9-9319C86A5283}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFilePermissionAttribute
// Interface: _IsolatedStorageFilePermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStorageFilePermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6F1F8AAE-D667-39CC-98FA-722BEBBBEAC3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PermissionSetAttribute
// Interface: _PermissionSetAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PermissionSetAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {947A1995-BC16-3E7C-B65A-99E71F39C091}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ReflectionPermission
// Interface: _ReflectionPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ReflectionPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AEB3727F-5C3A-34C4-BF18-A38F088AC8C7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PrincipalPermission
// Interface: _PrincipalPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PrincipalPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7C6B06D1-63AD-35EF-A938-149B4AD9A71F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SecurityPermission
// Interface: _SecurityPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SecurityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {33C54A2D-02BD-3848-80B6-742D537085E5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SiteIdentityPermission
// Interface: _SiteIdentityPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SiteIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {790B3EE9-7E06-3CD0-8243-5848486D6A78}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StrongNameIdentityPermission
// Interface: _StrongNameIdentityPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StrongNameIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5F1562FB-0160-3655-BAEA-B15BEF609161}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_StrongNamePublicKeyBlob
// Interface: _StrongNamePublicKeyBlob
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _StrongNamePublicKeyBlob
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AF53D21A-D6AF-3406-B399-7DF9D2AAD48A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UIPermission
// Interface: _UIPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UIPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {47698389-F182-3A67-87DF-AED490E14DC6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UrlIdentityPermission
// Interface: _UrlIdentityPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UrlIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EC7CAC31-08A2-393B-BDF2-D052EB53AF2C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ZoneIdentityPermission
// Interface: _ZoneIdentityPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ZoneIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {38B2F8D7-8CF4-323B-9C17-9C55EE287A63}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_GacIdentityPermissionAttribute
// Interface: _GacIdentityPermissionAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GacIdentityPermissionAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5F19E082-26F8-3361-B338-9BACB98809A4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_GacIdentityPermission
// Interface: _GacIdentityPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GacIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A9637792-5BE8-3C93-A501-49F0E840DE38}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAccessEntry
// Interface: _KeyContainerPermissionAccessEntry
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAccessEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {094351EA-DBC1-327F-8A83-913B593A66BE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAccessEntryCollection
// Interface: _KeyContainerPermissionAccessEntryCollection
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAccessEntryCollection
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {28ECF94E-3510-3A3E-8BD1-F866F45F3B06}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermissionAccessEntryEnumerator
// Interface: _KeyContainerPermissionAccessEntryEnumerator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeyContainerPermissionAccessEntryEnumerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {293187EA-5F88-316F-86A5-533B0C7B353F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeyContainerPermission
// Interface: _KeyContainerPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeyContainerPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {107A3CF1-B35E-3A23-B660-60264B231225}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PublisherIdentityPermission
// Interface: _PublisherIdentityPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PublisherIdentityPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E86CC74A-1233-3DF3-B13F-8B27EEAAC1F6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RegistryPermission
// Interface: _RegistryPermission
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RegistryPermission
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C3FB5510-3454-3B31-B64F-DE6AAD6BE820}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SuppressUnmanagedCodeSecurityAttribute
// Interface: _SuppressUnmanagedCodeSecurityAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SuppressUnmanagedCodeSecurityAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8000E51A-541C-3B20-A8EC-C8A8B41116C4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnverifiableCodeAttribute
// Interface: _UnverifiableCodeAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnverifiableCodeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {41F41C1B-7B8D-39A3-A28F-AAE20787F469}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AllowPartiallyTrustedCallersAttribute
// Interface: _AllowPartiallyTrustedCallersAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AllowPartiallyTrustedCallersAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F1C930C4-2233-3924-9840-231D008259B4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HostSecurityManager
// Interface: _HostSecurityManager
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HostSecurityManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9DEAE196-48C1-3590-9D0A-33716A214ACD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PermissionSet
// Interface: _PermissionSet
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PermissionSet
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C2AF4970-4FB6-319C-A8AA-0614D27F2B2C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_NamedPermissionSet
// Interface: _NamedPermissionSet
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _NamedPermissionSet
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BA3E053F-ADE3-3233-874A-16E624C9A49B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SecurityException
// Interface: _SecurityException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SecurityException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F174290F-E4CF-3976-88AA-4F8E32EB03DB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HostProtectionException
// Interface: _HostProtectionException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HostProtectionException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ED727A9B-6FC5-3FED-BEDD-7B66C847F87A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SecurityManager
// Interface: _SecurityManager
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SecurityManager
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ABC04B16-5539-3C7E-92EC-0905A4A24464}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_VerificationException
// Interface: _VerificationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _VerificationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F65070DF-57AF-3AE3-B951-D2AD7D513347}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IContextAttribute
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4A68BAA3-27AA-314A-BDBB-6AE9BDFC0420}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContextAttributeDispT<T>::IsContextOK(Mscorlib_tlb::_ContextPtr ctx/*[in]*/, 
                                       Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                                       TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsContextOK"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Context*)ctx /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IConstructionCallMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IContextAttributeDispT<T>::IsContextOK(Mscorlib_tlb::_ContextPtr ctx/*[in]*/, 
                                       Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->IsContextOK(ctx, msg, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IContextAttributeDispT<T>::GetPropertiesForNewContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetPropertiesForNewContext"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IConstructionCallMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IContextProperty
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F01D896D-8D5F-3235-BE59-20E1E10DC22A}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContextPropertyDispT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("name"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IContextPropertyDispT<T>::get_name(void)
{
  BSTR pRetVal;
  this->get_name((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IContextPropertyDispT<T>::IsNewContextOK(Mscorlib_tlb::_ContextPtr newCtx/*[in]*/, 
                                         TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsNewContextOK"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Context*)newCtx /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IContextPropertyDispT<T>::IsNewContextOK(Mscorlib_tlb::_ContextPtr newCtx/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->IsNewContextOK(newCtx, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IContextPropertyDispT<T>::Freeze(Mscorlib_tlb::_ContextPtr newContext/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Freeze"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Context*)newContext /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_ContextAttribute
// Interface: _ContextAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ContextAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F042505B-7AAC-313B-A8C7-3F1AC949C311}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IActivator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C02BBB79-5AA8-390D-927F-717B7BFF06A1}
// *********************************************************************//
template <class T> HRESULT __fastcall
IActivatorDispT<T>::get_NextActivator(Mscorlib_tlb::IActivatorPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextActivator"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IActivator**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IActivatorPtr __fastcall
IActivatorDispT<T>::get_NextActivator(void)
{
  Mscorlib_tlb::IActivatorPtr pRetVal;
  this->get_NextActivator((Mscorlib_tlb::IActivatorPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IActivatorDispT<T>::_set_NextActivator(Mscorlib_tlb::IActivatorPtr pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextActivator"), DISPID(1610743808));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IActivator*)pRetVal /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IActivatorDispT<T>::Activate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/, 
                             Mscorlib_tlb::IConstructionReturnMessagePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Activate"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IConstructionCallMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IConstructionReturnMessage**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IConstructionReturnMessagePtr __fastcall
IActivatorDispT<T>::Activate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
{
  Mscorlib_tlb::IConstructionReturnMessagePtr pRetVal;
  this->Activate(msg, (Mscorlib_tlb::IConstructionReturnMessagePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IActivatorDispT<T>::get_level(Mscorlib_tlb::ActivatorLevel* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("level"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::ActivatorLevel __fastcall
IActivatorDispT<T>::get_level(void)
{
  Mscorlib_tlb::ActivatorLevel pRetVal;
  this->get_level((Mscorlib_tlb::ActivatorLevel*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IMessageSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {941F8AAA-A353-3B1D-A019-12E44377F1CD}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMessageSinkDispT<T>::SyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                         Mscorlib_tlb::IMessagePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("SyncProcessMessage"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessage**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessagePtr __fastcall
IMessageSinkDispT<T>::SyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/)
{
  Mscorlib_tlb::IMessagePtr pRetVal;
  this->SyncProcessMessage(msg, (Mscorlib_tlb::IMessagePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMessageSinkDispT<T>::AsyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                          Mscorlib_tlb::IMessageSinkPtr replySink/*[in]*/, 
                                          Mscorlib_tlb::IMessageCtrlPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncProcessMessage"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IMessageSink*)replySink /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageCtrl**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageCtrlPtr __fastcall
IMessageSinkDispT<T>::AsyncProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                          Mscorlib_tlb::IMessageSinkPtr replySink/*[in]*/)
{
  Mscorlib_tlb::IMessageCtrlPtr pRetVal;
  this->AsyncProcessMessage(msg, replySink, (Mscorlib_tlb::IMessageCtrlPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMessageSinkDispT<T>::get_NextSink(Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextSink"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageSinkPtr __fastcall
IMessageSinkDispT<T>::get_NextSink(void)
{
  Mscorlib_tlb::IMessageSinkPtr pRetVal;
  this->get_NextSink((Mscorlib_tlb::IMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_AsyncResult
// Interface: _AsyncResult
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AsyncResult
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3936ABE1-B29E-3593-83F1-793D1A7F3898}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CallContext
// Interface: _CallContext
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CallContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {53BCE4D4-6209-396D-BD4A-0B0A0A177DF9}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ILogicalThreadAffinative
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4D125449-BA27-3927-8589-3E1B34B622E5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_LogicalCallContext
// Interface: _LogicalCallContext
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _LogicalCallContext
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9AFF21F5-1C9C-35E7-AEA4-C3AA0BEB3B77}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ChannelServices
// Interface: _ChannelServices
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ChannelServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FFB2E16E-E5C7-367C-B326-965ABF510F24}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IClientResponseChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3AFAB213-F5A2-3241-93BA-329EA4BA8016}
// *********************************************************************//
template <class T> HRESULT __fastcall
IClientResponseChannelSinkStackDispT<T>::AsyncProcessResponse(Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                              , 
                                                              Mscorlib_tlb::_StreamPtr Stream/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncProcessResponse"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)Stream /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IClientResponseChannelSinkStackDispT<T>::DispatchReplyMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DispatchReplyMessage"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IClientResponseChannelSinkStackDispT<T>::DispatchException(Mscorlib_tlb::_ExceptionPtr e/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DispatchException"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Exception*)e /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IClientChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3A5FDE6B-DB46-34E8-BACD-16EA5A440540}
// *********************************************************************//
template <class T> HRESULT __fastcall
IClientChannelSinkStackDispT<T>::Push(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/, 
                                      TVariantInParam state/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Push"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IClientChannelSink*)sink /*[VT_USERDEFINED:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IClientChannelSinkStackDispT<T>::Pop(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/, 
                                     TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Pop"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IClientChannelSink*)sink /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IClientChannelSinkStackDispT<T>::Pop(Mscorlib_tlb::IClientChannelSinkPtr sink/*[in]*/)
{
  TVariant pRetVal;
  this->Pop(sink, (TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_ClientChannelSinkStack
// Interface: _ClientChannelSinkStack
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ClientChannelSinkStack
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E1796120-C324-30D8-86F4-20086711463B}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IServerResponseChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {9BE679A6-61FD-38FC-A7B2-89982D33338B}
// *********************************************************************//
template <class T> HRESULT __fastcall
IServerResponseChannelSinkStackDispT<T>::AsyncProcessResponse(Mscorlib_tlb::IMessagePtr msg/*[in]*/
                                                              , 
                                                              Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                              , 
                                                              Mscorlib_tlb::_StreamPtr Stream/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncProcessResponse"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)Stream /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IServerResponseChannelSinkStackDispT<T>::GetResponseStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                           Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                           , 
                                                           Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetResponseStream"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Stream**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_StreamPtr __fastcall
IServerResponseChannelSinkStackDispT<T>::GetResponseStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                           Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/)
{
  Mscorlib_tlb::_StreamPtr pRetVal;
  this->GetResponseStream(msg, headers, (Mscorlib_tlb::_StreamPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IServerChannelSinkStack
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E694A733-768D-314D-B317-DCEAD136B11D}
// *********************************************************************//
template <class T> HRESULT __fastcall
IServerChannelSinkStackDispT<T>::Push(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                      TVariantInParam state/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Push"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerChannelSink*)sink /*[VT_USERDEFINED:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IServerChannelSinkStackDispT<T>::Pop(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                     TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Pop"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerChannelSink*)sink /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IServerChannelSinkStackDispT<T>::Pop(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/)
{
  TVariant pRetVal;
  this->Pop(sink, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IServerChannelSinkStackDispT<T>::Store(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                       TVariantInParam state/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Store"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerChannelSink*)sink /*[VT_USERDEFINED:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IServerChannelSinkStackDispT<T>::StoreAndDispatch(Mscorlib_tlb::IServerChannelSinkPtr sink/*[in]*/, 
                                                  TVariantInParam state/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StoreAndDispatch"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerChannelSink*)sink /*[VT_USERDEFINED:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IServerChannelSinkStackDispT<T>::ServerCallback(Mscorlib_tlb::IAsyncResultPtr ar/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ServerCallback"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IAsyncResult*)ar /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_ServerChannelSinkStack
// Interface: _ServerChannelSinkStack
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ServerChannelSinkStack
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {52DA9F90-89B3-35AB-907B-3562642967DE}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ISponsor
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {675591AF-0508-3131-A7CC-287D265CA7D6}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISponsorDispT<T>::Renewal(Mscorlib_tlb::ILeasePtr lease/*[in]*/, 
                          /*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("Renewal"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ILease*)lease /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OleFunction(_dispid, _args));
}

// *********************************************************************//
// SmartIntf: TCOM_ClientSponsor
// Interface: _ClientSponsor
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ClientSponsor
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FF19D114-3BDA-30AC-8E89-36CA64A87120}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CrossContextDelegate
// Interface: _CrossContextDelegate
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CrossContextDelegate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EE949B7B-439F-363E-B9FC-34DB1FB781D7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Context
// Interface: _Context
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Context
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {11A2EA7A-D600-307B-A606-511A6C7950D1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ContextProperty
// Interface: _ContextProperty
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ContextProperty
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4ACB3495-05DB-381B-890A-D12F5340DCA3}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IContextPropertyActivator
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7197B56B-5FA1-31EF-B38B-62FEE737277F}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContextPropertyActivatorDispT<T>::IsOKToActivate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/
                                                  , TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("IsOKToActivate"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IConstructionCallMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IContextPropertyActivatorDispT<T>::IsOKToActivate(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->IsOKToActivate(msg, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IContextPropertyActivatorDispT<T>::CollectFromClientContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CollectFromClientContext"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IConstructionCallMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IContextPropertyActivatorDispT<T>::DeliverClientContextToServerContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/
                                                                       , 
                                                                       TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DeliverClientContextToServerContext"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IConstructionCallMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IContextPropertyActivatorDispT<T>::DeliverClientContextToServerContext(Mscorlib_tlb::IConstructionCallMessagePtr msg/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->DeliverClientContextToServerContext(msg, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IContextPropertyActivatorDispT<T>::CollectFromServerContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("CollectFromServerContext"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IConstructionReturnMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IContextPropertyActivatorDispT<T>::DeliverServerContextToClientContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/
                                                                       , 
                                                                       TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("DeliverServerContextToClientContext"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IConstructionReturnMessage*)msg /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IContextPropertyActivatorDispT<T>::DeliverServerContextToClientContext(Mscorlib_tlb::IConstructionReturnMessagePtr msg/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->DeliverServerContextToClientContext(msg, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IChannel
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {563581E8-C86D-39E2-B2E8-6C23F7987A4B}
// *********************************************************************//
template <class T> HRESULT __fastcall
IChannelDispT<T>::get_ChannelPriority(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelPriority"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IChannelDispT<T>::get_ChannelPriority(void)
{
  long pRetVal;
  this->get_ChannelPriority((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelDispT<T>::get_ChannelName(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelName"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IChannelDispT<T>::get_ChannelName(void)
{
  BSTR pRetVal;
  this->get_ChannelName((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelDispT<T>::Parse(BSTR Url/*[in]*/, BSTR* objectURI/*[out]*/, BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Parse"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<2> _args;
  _args[1] = Url /*[VT_BSTR:0]*/;
  _args[2] = objectURI /*[VT_BSTR:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
IChannelDispT<T>::Parse(BSTR Url/*[in]*/, BSTR* objectURI/*[out]*/)
{
  BSTR pRetVal;
  this->Parse(Url, objectURI, (BSTR*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IChannelSender
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {10F1D605-E201-3145-B7AE-3AD746701986}
// *********************************************************************//
template <class T> HRESULT __fastcall
IChannelSenderDispT<T>::CreateMessageSink(BSTR Url/*[in]*/, 
                                          TVariantInParam remoteChannelData/*[in]*/, 
                                          BSTR* objectURI/*[out]*/, 
                                          Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateMessageSink"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = Url /*[VT_BSTR:0]*/;
  _args[2] = remoteChannelData /*[VT_VARIANT:0]*/;
  _args[3] = objectURI /*[VT_BSTR:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageSinkPtr __fastcall
IChannelSenderDispT<T>::CreateMessageSink(BSTR Url/*[in]*/, 
                                          TVariantInParam remoteChannelData/*[in]*/, 
                                          BSTR* objectURI/*[out]*/)
{
  Mscorlib_tlb::IMessageSinkPtr pRetVal;
  this->CreateMessageSink(Url, remoteChannelData, objectURI, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IChannelReceiver
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {48AD41DA-0872-31DA-9887-F81F213527E6}
// *********************************************************************//
template <class T> HRESULT __fastcall
IChannelReceiverDispT<T>::get_ChannelData(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelData"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IChannelReceiverDispT<T>::get_ChannelData(void)
{
  TVariant pRetVal;
  this->get_ChannelData((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelReceiverDispT<T>::GetUrlsForUri(BSTR objectURI/*[in]*/, LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetUrlsForUri"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = objectURI /*[VT_BSTR:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IChannelReceiverDispT<T>::GetUrlsForUri(BSTR objectURI/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->GetUrlsForUri(objectURI, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelReceiverDispT<T>::StartListening(TVariantInParam data/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StartListening"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = data /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IChannelReceiverDispT<T>::StopListening(TVariantInParam data/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("StopListening"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = data /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IServerChannelSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7DD6E975-24EA-323C-A98C-0FDE96F9C4E6}
// *********************************************************************//
template <class T> HRESULT __fastcall
IServerChannelSinkProviderDispT<T>::GetChannelData(Mscorlib_tlb::IChannelDataStorePtr ChannelData/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetChannelData"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IChannelDataStore*)ChannelData /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IServerChannelSinkProviderDispT<T>::CreateSink(Mscorlib_tlb::IChannelReceiverPtr channel/*[in]*/, 
                                               Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateSink"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IChannelReceiver*)channel /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IServerChannelSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IServerChannelSinkPtr __fastcall
IServerChannelSinkProviderDispT<T>::CreateSink(Mscorlib_tlb::IChannelReceiverPtr channel/*[in]*/)
{
  Mscorlib_tlb::IServerChannelSinkPtr pRetVal;
  this->CreateSink(channel, (Mscorlib_tlb::IServerChannelSinkPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IServerChannelSinkProviderDispT<T>::get_Next(Mscorlib_tlb::IServerChannelSinkProviderPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IServerChannelSinkProvider**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IServerChannelSinkProviderPtr __fastcall
IServerChannelSinkProviderDispT<T>::get_Next(void)
{
  Mscorlib_tlb::IServerChannelSinkProviderPtr pRetVal;
  this->get_Next((Mscorlib_tlb::IServerChannelSinkProviderPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IServerChannelSinkProviderDispT<T>::_set_Next(Mscorlib_tlb::IServerChannelSinkProviderPtr pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(1610743810));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerChannelSinkProvider*)pRetVal /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IChannelSinkBase
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {308DE042-ACC8-32F8-B632-7CB9799D9AA6}
// *********************************************************************//
template <class T> HRESULT __fastcall
IChannelSinkBaseDispT<T>::get_Properties(Mscorlib_tlb::IDictionaryPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Properties"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IDictionary**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IDictionaryPtr __fastcall
IChannelSinkBaseDispT<T>::get_Properties(void)
{
  Mscorlib_tlb::IDictionaryPtr pRetVal;
  this->get_Properties((Mscorlib_tlb::IDictionaryPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IServerChannelSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {21B5F37B-BEF3-354C-8F84-0F9F0863F5C5}
// *********************************************************************//
template <class T> HRESULT __fastcall
IServerChannelSinkDispT<T>::ProcessMessage(Mscorlib_tlb::IServerChannelSinkStackPtr sinkStack/*[in]*/
                                           , Mscorlib_tlb::IMessagePtr requestMsg/*[in]*/, 
                                           Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/
                                           , Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                           Mscorlib_tlb::IMessagePtr* responseMsg/*[out]*/, 
                                           Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/
                                           , Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/, 
                                           Mscorlib_tlb::ServerProcessing* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProcessMessage"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<7> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerChannelSinkStack*)sinkStack /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)requestMsg /*[VT_USERDEFINED:1]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)requestHeaders /*[VT_USERDEFINED:1]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)requestStream /*[VT_USERDEFINED:1]*/;
  _args[5] = (LPDISPATCH*)(Mscorlib_tlb::IMessage**)responseMsg /*[VT_USERDEFINED:2]*/;
  _args[6] = (LPDISPATCH*)(Mscorlib_tlb::ITransportHeaders**)responseHeaders /*[VT_USERDEFINED:2]*/;
  _args[7] = (LPDISPATCH*)(Mscorlib_tlb::_Stream**)responseStream /*[VT_USERDEFINED:2]*/;
  return OutRetValSetterPtr((int*)pRetVal /*[VT_USERDEFINED:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::ServerProcessing __fastcall
IServerChannelSinkDispT<T>::ProcessMessage(Mscorlib_tlb::IServerChannelSinkStackPtr sinkStack/*[in]*/, 
                                           Mscorlib_tlb::IMessagePtr requestMsg/*[in]*/, 
                                           Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/, 
                                           Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                           Mscorlib_tlb::IMessagePtr* responseMsg/*[out]*/, 
                                           Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/, 
                                           Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/)
{
  Mscorlib_tlb::ServerProcessing pRetVal;
  this->ProcessMessage(sinkStack, requestMsg, requestHeaders, requestStream, responseMsg, 
                       responseHeaders, responseStream, (Mscorlib_tlb::ServerProcessing*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IServerChannelSinkDispT<T>::AsyncProcessResponse(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/
                                                 , TVariantInParam state/*[in]*/, 
                                                 Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                 Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                 , Mscorlib_tlb::_StreamPtr Stream/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncProcessResponse"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<5> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerResponseChannelSinkStack*)sinkStack /*[VT_USERDEFINED:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  _args[5] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)Stream /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IServerChannelSinkDispT<T>::GetResponseStream(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/
                                              , TVariantInParam state/*[in]*/, 
                                              Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                              Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                              Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetResponseStream"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IServerResponseChannelSinkStack*)sinkStack /*[VT_USERDEFINED:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Stream**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_StreamPtr __fastcall
IServerChannelSinkDispT<T>::GetResponseStream(Mscorlib_tlb::IServerResponseChannelSinkStackPtr sinkStack/*[in]*/, 
                                              TVariantInParam state/*[in]*/, 
                                              Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                              Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/)
{
  Mscorlib_tlb::_StreamPtr pRetVal;
  this->GetResponseStream(sinkStack, state, msg, headers, (Mscorlib_tlb::_StreamPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IServerChannelSinkDispT<T>::get_NextChannelSink(Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextChannelSink"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IServerChannelSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IServerChannelSinkPtr __fastcall
IServerChannelSinkDispT<T>::get_NextChannelSink(void)
{
  Mscorlib_tlb::IServerChannelSinkPtr pRetVal;
  this->get_NextChannelSink((Mscorlib_tlb::IServerChannelSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_EnterpriseServicesHelper
// Interface: _EnterpriseServicesHelper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _EnterpriseServicesHelper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77C9BCEB-9958-33C0-A858-599F66697DA7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Header
// Interface: _Header
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Header
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0D296515-AD19-3602-B415-D8EC77066081}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HeaderHandler
// Interface: _HeaderHandler
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HeaderHandler
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5DBBAF39-A3DF-30B7-AAEA-9FD11394123F}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1A8B0DE6-B825-38C5-B744-8F93075FD6FA}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMessageDispT<T>::get_Properties(Mscorlib_tlb::IDictionaryPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Properties"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IDictionary**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IDictionaryPtr __fastcall
IMessageDispT<T>::get_Properties(void)
{
  Mscorlib_tlb::IDictionaryPtr pRetVal;
  this->get_Properties((Mscorlib_tlb::IDictionaryPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IMethodMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {8E5E0B95-750E-310D-892C-8CA7231CF75B}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_Uri(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Uri"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IMethodMessageDispT<T>::get_Uri(void)
{
  BSTR pRetVal;
  this->get_Uri((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_MethodName(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MethodName"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IMethodMessageDispT<T>::get_MethodName(void)
{
  BSTR pRetVal;
  this->get_MethodName((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_typeName(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("typeName"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IMethodMessageDispT<T>::get_typeName(void)
{
  BSTR pRetVal;
  this->get_typeName((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_MethodSignature(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MethodSignature"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IMethodMessageDispT<T>::get_MethodSignature(void)
{
  TVariant pRetVal;
  this->get_MethodSignature((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_ArgCount(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ArgCount"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IMethodMessageDispT<T>::get_ArgCount(void)
{
  long pRetVal;
  this->get_ArgCount((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::GetArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetArgName"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<1> _args;
  _args[1] = index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
IMethodMessageDispT<T>::GetArgName(long index/*[in]*/)
{
  BSTR pRetVal;
  this->GetArgName(index, (BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::GetArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetArg"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<1> _args;
  _args[1] = argNum /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMethodMessageDispT<T>::GetArg(long argNum/*[in]*/)
{
  TVariant pRetVal;
  this->GetArg(argNum, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_args(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("args"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IMethodMessageDispT<T>::get_args(void)
{
  LPSAFEARRAY pRetVal;
  this->get_args((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_HasVarArgs(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("HasVarArgs"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IMethodMessageDispT<T>::get_HasVarArgs(void)
{
  TOLEBOOL pRetVal;
  this->get_HasVarArgs((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_LogicalCallContext(Mscorlib_tlb::_LogicalCallContextPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("LogicalCallContext"), DISPID(DISPID_UNKNOWN/*[1610743817]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_LogicalCallContext**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_LogicalCallContextPtr __fastcall
IMethodMessageDispT<T>::get_LogicalCallContext(void)
{
  Mscorlib_tlb::_LogicalCallContextPtr pRetVal;
  this->get_LogicalCallContext((Mscorlib_tlb::_LogicalCallContextPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodMessageDispT<T>::get_MethodBase(Mscorlib_tlb::_MethodBasePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MethodBase"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_MethodBase**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_MethodBasePtr __fastcall
IMethodMessageDispT<T>::get_MethodBase(void)
{
  Mscorlib_tlb::_MethodBasePtr pRetVal;
  this->get_MethodBase((Mscorlib_tlb::_MethodBasePtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IMethodCallMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B90EFAA6-25E4-33D2-ACA3-94BF74DC4AB9}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMethodCallMessageDispT<T>::get_InArgCount(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InArgCount"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IMethodCallMessageDispT<T>::get_InArgCount(void)
{
  long pRetVal;
  this->get_InArgCount((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodCallMessageDispT<T>::GetInArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetInArgName"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
IMethodCallMessageDispT<T>::GetInArgName(long index/*[in]*/)
{
  BSTR pRetVal;
  this->GetInArgName(index, (BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodCallMessageDispT<T>::GetInArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetInArg"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = argNum /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMethodCallMessageDispT<T>::GetInArg(long argNum/*[in]*/)
{
  TVariant pRetVal;
  this->GetInArg(argNum, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodCallMessageDispT<T>::get_InArgs(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InArgs"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IMethodCallMessageDispT<T>::get_InArgs(void)
{
  LPSAFEARRAY pRetVal;
  this->get_InArgs((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IConstructionCallMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FA28E3AF-7D09-31D5-BEEB-7F2626497CDE}
// *********************************************************************//
template <class T> HRESULT __fastcall
IConstructionCallMessageDispT<T>::get_Activator(Mscorlib_tlb::IActivatorPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Activator"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IActivator**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IActivatorPtr __fastcall
IConstructionCallMessageDispT<T>::get_Activator(void)
{
  Mscorlib_tlb::IActivatorPtr pRetVal;
  this->get_Activator((Mscorlib_tlb::IActivatorPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConstructionCallMessageDispT<T>::_set_Activator(Mscorlib_tlb::IActivatorPtr pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Activator"), DISPID(1610743808));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IActivator*)pRetVal /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IConstructionCallMessageDispT<T>::get_CallSiteActivationAttributes(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CallSiteActivationAttributes"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IConstructionCallMessageDispT<T>::get_CallSiteActivationAttributes(void)
{
  LPSAFEARRAY pRetVal;
  this->get_CallSiteActivationAttributes((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConstructionCallMessageDispT<T>::get_ActivationTypeName(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivationTypeName"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IConstructionCallMessageDispT<T>::get_ActivationTypeName(void)
{
  BSTR pRetVal;
  this->get_ActivationTypeName((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConstructionCallMessageDispT<T>::get_ActivationType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ActivationType"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
IConstructionCallMessageDispT<T>::get_ActivationType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->get_ActivationType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IConstructionCallMessageDispT<T>::get_ContextProperties(Mscorlib_tlb::IListPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ContextProperties"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IList**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IListPtr __fastcall
IConstructionCallMessageDispT<T>::get_ContextProperties(void)
{
  Mscorlib_tlb::IListPtr pRetVal;
  this->get_ContextProperties((Mscorlib_tlb::IListPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IMethodReturnMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F617690A-55F4-36AF-9149-D199831F8594}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMethodReturnMessageDispT<T>::get_OutArgCount(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutArgCount"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
IMethodReturnMessageDispT<T>::get_OutArgCount(void)
{
  long pRetVal;
  this->get_OutArgCount((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodReturnMessageDispT<T>::GetOutArgName(long index/*[in]*/, BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetOutArgName"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = index /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
IMethodReturnMessageDispT<T>::GetOutArgName(long index/*[in]*/)
{
  BSTR pRetVal;
  this->GetOutArgName(index, (BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodReturnMessageDispT<T>::GetOutArg(long argNum/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetOutArg"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = argNum /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMethodReturnMessageDispT<T>::GetOutArg(long argNum/*[in]*/)
{
  TVariant pRetVal;
  this->GetOutArg(argNum, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodReturnMessageDispT<T>::get_OutArgs(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutArgs"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IMethodReturnMessageDispT<T>::get_OutArgs(void)
{
  LPSAFEARRAY pRetVal;
  this->get_OutArgs((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodReturnMessageDispT<T>::get_Exception(Mscorlib_tlb::_ExceptionPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Exception"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Exception**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ExceptionPtr __fastcall
IMethodReturnMessageDispT<T>::get_Exception(void)
{
  Mscorlib_tlb::_ExceptionPtr pRetVal;
  this->get_Exception((Mscorlib_tlb::_ExceptionPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IMethodReturnMessageDispT<T>::get_ReturnValue(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ReturnValue"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IMethodReturnMessageDispT<T>::get_ReturnValue(void)
{
  TVariant pRetVal;
  this->get_ReturnValue((TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IConstructionReturnMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CA0AB564-F5E9-3A7F-A80B-EB0AEEFA44E9}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IChannelReceiverHook
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3A02D3F7-3F40-3022-853D-CFDA765182FE}
// *********************************************************************//
template <class T> HRESULT __fastcall
IChannelReceiverHookDispT<T>::get_ChannelScheme(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelScheme"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IChannelReceiverHookDispT<T>::get_ChannelScheme(void)
{
  BSTR pRetVal;
  this->get_ChannelScheme((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelReceiverHookDispT<T>::get_WantsToListen(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("WantsToListen"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IChannelReceiverHookDispT<T>::get_WantsToListen(void)
{
  TOLEBOOL pRetVal;
  this->get_WantsToListen((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelReceiverHookDispT<T>::get_ChannelSinkChain(Mscorlib_tlb::IServerChannelSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelSinkChain"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IServerChannelSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IServerChannelSinkPtr __fastcall
IChannelReceiverHookDispT<T>::get_ChannelSinkChain(void)
{
  Mscorlib_tlb::IServerChannelSinkPtr pRetVal;
  this->get_ChannelSinkChain((Mscorlib_tlb::IServerChannelSinkPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelReceiverHookDispT<T>::AddHookChannelUri(BSTR channelUri/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AddHookChannelUri"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = channelUri /*[VT_BSTR:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IClientChannelSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3F8742C2-AC57-3440-A283-FE5FF4C75025}
// *********************************************************************//
template <class T> HRESULT __fastcall
IClientChannelSinkProviderDispT<T>::CreateSink(Mscorlib_tlb::IChannelSenderPtr channel/*[in]*/, 
                                               BSTR Url/*[in]*/, 
                                               TVariantInParam remoteChannelData/*[in]*/, 
                                               Mscorlib_tlb::IClientChannelSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateSink"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IChannelSender*)channel /*[VT_USERDEFINED:1]*/;
  _args[2] = Url /*[VT_BSTR:0]*/;
  _args[3] = remoteChannelData /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IClientChannelSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IClientChannelSinkPtr __fastcall
IClientChannelSinkProviderDispT<T>::CreateSink(Mscorlib_tlb::IChannelSenderPtr channel/*[in]*/, 
                                               BSTR Url/*[in]*/, 
                                               TVariantInParam remoteChannelData/*[in]*/)
{
  Mscorlib_tlb::IClientChannelSinkPtr pRetVal;
  this->CreateSink(channel, Url, remoteChannelData, (Mscorlib_tlb::IClientChannelSinkPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IClientChannelSinkProviderDispT<T>::get_Next(Mscorlib_tlb::IClientChannelSinkProviderPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IClientChannelSinkProvider**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IClientChannelSinkProviderPtr __fastcall
IClientChannelSinkProviderDispT<T>::get_Next(void)
{
  Mscorlib_tlb::IClientChannelSinkProviderPtr pRetVal;
  this->get_Next((Mscorlib_tlb::IClientChannelSinkProviderPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IClientChannelSinkProviderDispT<T>::_set_Next(Mscorlib_tlb::IClientChannelSinkProviderPtr pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Next"), DISPID(1610743809));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IClientChannelSinkProvider*)pRetVal /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IClientFormatterSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6D94B6F3-DA91-3C2F-B876-083769667468}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IServerFormatterSinkProvider
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {042B5200-4317-3E4D-B653-7E9A08F1A5F2}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IClientChannelSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {FF726320-6B92-3E6C-AAAC-F97063D0B142}
// *********************************************************************//
template <class T> HRESULT __fastcall
IClientChannelSinkDispT<T>::ProcessMessage(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                           Mscorlib_tlb::ITransportHeadersPtr requestHeaders/*[in]*/
                                           , Mscorlib_tlb::_StreamPtr requestStream/*[in]*/, 
                                           Mscorlib_tlb::ITransportHeadersPtr* responseHeaders/*[out]*/
                                           , Mscorlib_tlb::_StreamPtr* responseStream/*[out]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProcessMessage"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<5> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)requestHeaders /*[VT_USERDEFINED:1]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)requestStream /*[VT_USERDEFINED:1]*/;
  _args[4] = (LPDISPATCH*)(Mscorlib_tlb::ITransportHeaders**)responseHeaders /*[VT_USERDEFINED:2]*/;
  _args[5] = (LPDISPATCH*)(Mscorlib_tlb::_Stream**)responseStream /*[VT_USERDEFINED:2]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IClientChannelSinkDispT<T>::AsyncProcessRequest(Mscorlib_tlb::IClientChannelSinkStackPtr sinkStack/*[in]*/
                                                , Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                                Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                                Mscorlib_tlb::_StreamPtr Stream/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncProcessRequest"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IClientChannelSinkStack*)sinkStack /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)Stream /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IClientChannelSinkDispT<T>::AsyncProcessResponse(Mscorlib_tlb::IClientResponseChannelSinkStackPtr sinkStack/*[in]*/
                                                 , TVariantInParam state/*[in]*/, 
                                                 Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/
                                                 , Mscorlib_tlb::_StreamPtr Stream/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("AsyncProcessResponse"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<4> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IClientResponseChannelSinkStack*)sinkStack /*[VT_USERDEFINED:1]*/;
  _args[2] = state /*[VT_VARIANT:0]*/;
  _args[3] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  _args[4] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)Stream /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IClientChannelSinkDispT<T>::GetRequestStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                             Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/, 
                                             Mscorlib_tlb::_StreamPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetRequestStream"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)msg /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::ITransportHeaders*)headers /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_Stream**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_StreamPtr __fastcall
IClientChannelSinkDispT<T>::GetRequestStream(Mscorlib_tlb::IMessagePtr msg/*[in]*/, 
                                             Mscorlib_tlb::ITransportHeadersPtr headers/*[in]*/)
{
  Mscorlib_tlb::_StreamPtr pRetVal;
  this->GetRequestStream(msg, headers, (Mscorlib_tlb::_StreamPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IClientChannelSinkDispT<T>::get_NextChannelSink(Mscorlib_tlb::IClientChannelSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("NextChannelSink"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IClientChannelSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IClientChannelSinkPtr __fastcall
IClientChannelSinkDispT<T>::get_NextChannelSink(void)
{
  Mscorlib_tlb::IClientChannelSinkPtr pRetVal;
  this->get_NextChannelSink((Mscorlib_tlb::IClientChannelSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IClientFormatterSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {46527C03-B144-3CF0-86B3-B8776148A6E9}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IChannelDataStore
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1E250CCD-DC30-3217-A7E4-148F375A0088}
// *********************************************************************//
template <class T> HRESULT __fastcall
IChannelDataStoreDispT<T>::get_ChannelUris(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelUris"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IChannelDataStoreDispT<T>::get_ChannelUris(void)
{
  LPSAFEARRAY pRetVal;
  this->get_ChannelUris((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelDataStoreDispT<T>::get_Item(TVariantInParam key/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
IChannelDataStoreDispT<T>::get_Item(TVariantInParam key/*[in]*/)
{
  TVariant pRetVal;
  this->get_Item(key, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelDataStoreDispT<T>::_set_Item(TVariantInParam key/*[in]*/, TVariantInParam pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<2> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  _args[2] = pRetVal /*[VT_VARIANT:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_ChannelDataStore
// Interface: _ChannelDataStore
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ChannelDataStore
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AA6DA581-F972-36DE-A53B-7585428A68AB}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ITransportHeaders
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {1AC82FBE-4FF0-383C-BBFD-FE40ECB3628D}
// *********************************************************************//
template <class T> HRESULT __fastcall
ITransportHeadersDispT<T>::get_Item(TVariantInParam key/*[in]*/, TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<1> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TVariant __fastcall
ITransportHeadersDispT<T>::get_Item(TVariantInParam key/*[in]*/)
{
  TVariant pRetVal;
  this->get_Item(key, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ITransportHeadersDispT<T>::_set_Item(TVariantInParam key/*[in]*/, TVariantInParam pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Item"), DISPID(0));
  TAutoArgs<2> _args;
  _args[1] = key /*[VT_VARIANT:0]*/;
  _args[2] = pRetVal /*[VT_VARIANT:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ITransportHeadersDispT<T>::GetEnumerator(IEnumVARIANTPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetEnumerator"), DISPID(-4));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(IEnumVARIANT**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> IEnumVARIANTPtr __fastcall
ITransportHeadersDispT<T>::GetEnumerator(void)
{
  IEnumVARIANTPtr pRetVal;
  this->GetEnumerator((IEnumVARIANTPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_TransportHeaders
// Interface: _TransportHeaders
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TransportHeaders
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {65887F70-C646-3A66-8697-8A3F7D8FE94D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SinkProviderData
// Interface: _SinkProviderData
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SinkProviderData
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A18545B7-E5EE-31EE-9B9B-41199B11C995}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BaseChannelObjectWithProperties
// Interface: _BaseChannelObjectWithProperties
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BaseChannelObjectWithProperties
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1329EC9-E567-369F-8258-18366D89EAF8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BaseChannelSinkWithProperties
// Interface: _BaseChannelSinkWithProperties
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BaseChannelSinkWithProperties
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8AF3451E-154D-3D86-80D8-F8478B9733ED}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BaseChannelWithProperties
// Interface: _BaseChannelWithProperties
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BaseChannelWithProperties
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {94BB98ED-18BB-3843-A7FE-642824AB4E01}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IContributeClientContextSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4DB956B7-69D0-312A-AA75-44FB55FD5D4B}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContributeClientContextSinkDispT<T>::GetClientContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/
                                                           , 
                                                           Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetClientContextSink"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessageSink*)NextSink /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageSinkPtr __fastcall
IContributeClientContextSinkDispT<T>::GetClientContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
{
  Mscorlib_tlb::IMessageSinkPtr pRetVal;
  this->GetClientContextSink(NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IContributeDynamicSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {A0FE9B86-0C06-32CE-85FA-2FF1B58697FB}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContributeDynamicSinkDispT<T>::GetDynamicSink(Mscorlib_tlb::IDynamicMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetDynamicSink"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IDynamicMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IDynamicMessageSinkPtr __fastcall
IContributeDynamicSinkDispT<T>::GetDynamicSink(void)
{
  Mscorlib_tlb::IDynamicMessageSinkPtr pRetVal;
  this->GetDynamicSink((Mscorlib_tlb::IDynamicMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IContributeEnvoySink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {124777B6-0308-3569-97E5-E6FE88EAE4EB}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContributeEnvoySinkDispT<T>::GetEnvoySink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                           Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                           Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetEnvoySink"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_MarshalByRefObject*)obj /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IMessageSink*)NextSink /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageSinkPtr __fastcall
IContributeEnvoySinkDispT<T>::GetEnvoySink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                           Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
{
  Mscorlib_tlb::IMessageSinkPtr pRetVal;
  this->GetEnvoySink(obj, NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IContributeObjectSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {6A5D38BC-2789-3546-81A1-F10C0FB59366}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContributeObjectSinkDispT<T>::GetObjectSink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                             Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/, 
                                             Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetObjectSink"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_MarshalByRefObject*)obj /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::IMessageSink*)NextSink /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageSinkPtr __fastcall
IContributeObjectSinkDispT<T>::GetObjectSink(Mscorlib_tlb::_MarshalByRefObjectPtr obj/*[in]*/, 
                                             Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
{
  Mscorlib_tlb::IMessageSinkPtr pRetVal;
  this->GetObjectSink(obj, NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IContributeServerContextSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0CAA23EC-F78C-39C9-8D25-B7A9CE4097A7}
// *********************************************************************//
template <class T> HRESULT __fastcall
IContributeServerContextSinkDispT<T>::GetServerContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/
                                                           , 
                                                           Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetServerContextSink"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessageSink*)NextSink /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageSinkPtr __fastcall
IContributeServerContextSinkDispT<T>::GetServerContextSink(Mscorlib_tlb::IMessageSinkPtr NextSink/*[in]*/)
{
  Mscorlib_tlb::IMessageSinkPtr pRetVal;
  this->GetServerContextSink(NextSink, (Mscorlib_tlb::IMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IDynamicProperty
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {00A358D4-4D58-3B9D-8FB6-FB7F6BC1713B}
// *********************************************************************//
template <class T> HRESULT __fastcall
IDynamicPropertyDispT<T>::get_name(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("name"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IDynamicPropertyDispT<T>::get_name(void)
{
  BSTR pRetVal;
  this->get_name((BSTR*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IDynamicMessageSink
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C74076BB-8A2D-3C20-A542-625329E9AF04}
// *********************************************************************//
template <class T> HRESULT __fastcall
IDynamicMessageSinkDispT<T>::ProcessMessageStart(Mscorlib_tlb::IMessagePtr reqMsg/*[in]*/, 
                                                 TOLEBOOL bCliSide/*[in]*/, TOLEBOOL bAsync/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProcessMessageStart"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)reqMsg /*[VT_USERDEFINED:1]*/;
  _args[2] = bCliSide /*[VT_BOOL:0]*/;
  _args[3] = bAsync /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
IDynamicMessageSinkDispT<T>::ProcessMessageFinish(Mscorlib_tlb::IMessagePtr replyMsg/*[in]*/, 
                                                  TOLEBOOL bCliSide/*[in]*/, TOLEBOOL bAsync/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ProcessMessageFinish"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessage*)replyMsg /*[VT_USERDEFINED:1]*/;
  _args[2] = bCliSide /*[VT_BOOL:0]*/;
  _args[3] = bAsync /*[VT_BOOL:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  ILease
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {53A561F2-CBBF-3748-BFFE-2180002DB3DF}
// *********************************************************************//
template <class T> HRESULT __fastcall
ILeaseDispT<T>::Register(Mscorlib_tlb::ISponsorPtr obj/*[in]*/, 
                         /*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan renewalTime)*/ TVariant&  renewalTime)
{
  _TDispID _dispid(*this, OLETEXT("Register"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISponsor*)obj /*[VT_USERDEFINED:1]*/;
  _args[2] = renewalTime /*[VT_USERDEFINED:0]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::Register_2(Mscorlib_tlb::ISponsorPtr obj/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Register_2"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISponsor*)obj /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::Unregister(Mscorlib_tlb::ISponsorPtr obj/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Unregister"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::ISponsor*)obj /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::Renew(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan renewalTime)*/ TVariant&  renewalTime
                      , /*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("Renew"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<1> _args;
  _args[1] = renewalTime /*[VT_USERDEFINED:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::get_RenewOnCallTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("RenewOnCallTime"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::set_RenewOnCallTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan pRetVal)*/ TVariant&  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("RenewOnCallTime"), DISPID(1610743812));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::get_SponsorshipTimeout(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("SponsorshipTimeout"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::set_SponsorshipTimeout(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan pRetVal)*/ TVariant&  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("SponsorshipTimeout"), DISPID(1610743814));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::get_InitialLeaseTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("InitialLeaseTime"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::set_InitialLeaseTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan pRetVal)*/ TVariant&  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("InitialLeaseTime"), DISPID(1610743816));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_USERDEFINED:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::get_CurrentLeaseTime(/*AUTO_PARAM_ERROR(Mscorlib_tlb::TimeSpan* pRetVal)*/ TVariant*  pRetVal)
{
  _TDispID _dispid(*this, OLETEXT("CurrentLeaseTime"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> HRESULT __fastcall
ILeaseDispT<T>::get_CurrentState(Mscorlib_tlb::LeaseState* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CurrentState"), DISPID(DISPID_UNKNOWN/*[1610743819]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((int*)pRetVal /*[VT_USERDEFINED:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::LeaseState __fastcall
ILeaseDispT<T>::get_CurrentState(void)
{
  Mscorlib_tlb::LeaseState pRetVal;
  this->get_CurrentState((Mscorlib_tlb::LeaseState*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IMessageCtrl
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3677CBB0-784D-3C15-BBC8-75CD7DC3901E}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMessageCtrlDispT<T>::Cancel(long msToCancel/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Cancel"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<1> _args;
  _args[1] = msToCancel /*[VT_I4:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IRemotingFormatter
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {AE1850FD-3596-3727-A242-2FC31C5A0312}
// *********************************************************************//
template <class T> HRESULT __fastcall
IRemotingFormatterDispT<T>::Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                        Mscorlib_tlb::_HeaderHandlerPtr handler/*[in]*/, 
                                        TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Deserialize"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)serializationStream /*[VT_USERDEFINED:1]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_HeaderHandler*)handler /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IRemotingFormatterDispT<T>::Deserialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                        Mscorlib_tlb::_HeaderHandlerPtr handler/*[in]*/)
{
  TVariant pRetVal;
  this->Deserialize(serializationStream, handler, (TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IRemotingFormatterDispT<T>::Serialize(Mscorlib_tlb::_StreamPtr serializationStream/*[in]*/, 
                                      TVariantInParam graph/*[in]*/, LPSAFEARRAY headers/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("Serialize"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<3> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::_Stream*)serializationStream /*[VT_USERDEFINED:1]*/;
  _args[2] = graph /*[VT_VARIANT:0]*/;
  _args[3] = headers /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_LifetimeServices
// Interface: _LifetimeServices
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _LifetimeServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B0AD9A21-5439-3D88-8975-4018B828D74C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ReturnMessage
// Interface: _ReturnMessage
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ReturnMessage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0EEFF4C2-84BF-3E4E-BF22-B7BDBB5DF899}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodCall
// Interface: _MethodCall
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MethodCall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {95E01216-5467-371B-8597-4074402CCB06}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ConstructionCall
// Interface: _ConstructionCall
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ConstructionCall
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A2246AE7-EB81-3A20-8E70-C9FA341C7E10}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodResponse
// Interface: _MethodResponse
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MethodResponse
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9E9EA93A-D000-3AB9-BFCA-DDEB398A55B9}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IFieldInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CC18FD4D-AA2D-3AB4-9848-584BBAE4AB44}
// *********************************************************************//
template <class T> HRESULT __fastcall
IFieldInfoDispT<T>::get_FieldNames(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FieldNames"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IFieldInfoDispT<T>::get_FieldNames(void)
{
  LPSAFEARRAY pRetVal;
  this->get_FieldNames((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFieldInfoDispT<T>::set_FieldNames(LPSAFEARRAY pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FieldNames"), DISPID(1610743808));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_SAFEARRAY:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IFieldInfoDispT<T>::get_FieldTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("FieldTypes"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IFieldInfoDispT<T>::get_FieldTypes(void)
{
  LPSAFEARRAY pRetVal;
  this->get_FieldTypes((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IFieldInfoDispT<T>::set_FieldTypes(LPSAFEARRAY pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("FieldTypes"), DISPID(1610743810));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_SAFEARRAY:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_ConstructionResponse
// Interface: _ConstructionResponse
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ConstructionResponse
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BE457280-6FFA-3E76-9822-83DE63C0C4E0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InternalMessageWrapper
// Interface: _InternalMessageWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InternalMessageWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EF926E1F-3EE7-32BC-8B01-C6E98C24BC19}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodCallMessageWrapper
// Interface: _MethodCallMessageWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MethodCallMessageWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C9614D78-10EA-3310-87EA-821B70632898}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MethodReturnMessageWrapper
// Interface: _MethodReturnMessageWrapper
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MethodReturnMessageWrapper
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {89304439-A24F-30F6-9A8F-89CE472D85DA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ObjectHandle
// Interface: _ObjectHandle
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  return (*this)->get_ToString(pRetVal);
}

template <class T> BSTR __fastcall
TCOM_ObjectHandleT<T>::get_ToString(void)
{
  BSTR pRetVal = 0;
  OLECHECK(this->get_ToString((BSTR*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  return (*this)->Equals(obj, pRetVal);
}

template <class T> TOLEBOOL __fastcall
TCOM_ObjectHandleT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  OLECHECK(this->Equals(obj, (TOLEBOOL*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  return (*this)->GetHashCode(pRetVal);
}

template <class T> long __fastcall
TCOM_ObjectHandleT<T>::GetHashCode(void)
{
  long pRetVal;
  OLECHECK(this->GetHashCode((long*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  return (*this)->GetType(pRetVal);
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
TCOM_ObjectHandleT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  OLECHECK(this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::GetLifetimeService(TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->GetLifetimeService(pRetVal);
}

template <class T> TVariant __fastcall
TCOM_ObjectHandleT<T>::GetLifetimeService(void)
{
  TVariant pRetVal;
  OLECHECK(this->GetLifetimeService((TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->InitializeLifetimeService(pRetVal);
}

template <class T> TVariant __fastcall
TCOM_ObjectHandleT<T>::InitializeLifetimeService(void)
{
  TVariant pRetVal;
  OLECHECK(this->InitializeLifetimeService((TVariant*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/, 
                                    Mscorlib_tlb::_ObjRefPtr* pRetVal/*[out,retval]*/)
{
  return (*this)->CreateObjRef(requestedType, pRetVal);
}

template <class T> Mscorlib_tlb::_ObjRefPtr __fastcall
TCOM_ObjectHandleT<T>::CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/)
{
  Mscorlib_tlb::_ObjRefPtr pRetVal;
  OLECHECK(this->CreateObjRef(requestedType, (Mscorlib_tlb::_ObjRefPtr*)&pRetVal));
  return pRetVal;
}

template <class T> HRESULT __fastcall
TCOM_ObjectHandleT<T>::Unwrap(TVariant* pRetVal/*[out,retval]*/)
{
  return (*this)->Unwrap(pRetVal);
}

template <class T> TVariant __fastcall
TCOM_ObjectHandleT<T>::Unwrap(void)
{
  TVariant pRetVal;
  OLECHECK(this->Unwrap((TVariant*)&pRetVal));
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  _ObjectHandle
// Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID:      {EA675B47-64E0-3B5F-9BE7-F7DC2990730D}
// *********************************************************************//
template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::get_ToString(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ToString"), DISPID(0));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
_ObjectHandleDispT<T>::get_ToString(void)
{
  BSTR pRetVal;
  this->get_ToString((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::Equals(TVariantInParam obj/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Equals"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
_ObjectHandleDispT<T>::Equals(TVariantInParam obj/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->Equals(obj, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::GetHashCode(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetHashCode"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
_ObjectHandleDispT<T>::GetHashCode(void)
{
  long pRetVal;
  this->GetHashCode((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::GetType(Mscorlib_tlb::_TypePtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetType"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPUNKNOWN*)(Mscorlib_tlb::_Type**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_TypePtr __fastcall
_ObjectHandleDispT<T>::GetType(void)
{
  Mscorlib_tlb::_TypePtr pRetVal;
  this->GetType((Mscorlib_tlb::_TypePtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::GetLifetimeService(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetLifetimeService"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_ObjectHandleDispT<T>::GetLifetimeService(void)
{
  TVariant pRetVal;
  this->GetLifetimeService((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::InitializeLifetimeService(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InitializeLifetimeService"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_ObjectHandleDispT<T>::InitializeLifetimeService(void)
{
  TVariant pRetVal;
  this->InitializeLifetimeService((TVariant*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/, 
                                    Mscorlib_tlb::_ObjRefPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CreateObjRef"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<1> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)requestedType /*[VT_USERDEFINED:1]*/;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_ObjRef**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OleFunction(_dispid, _args));
}

template <class T> Mscorlib_tlb::_ObjRefPtr __fastcall
_ObjectHandleDispT<T>::CreateObjRef(Mscorlib_tlb::_TypePtr requestedType/*[in]*/)
{
  Mscorlib_tlb::_ObjRefPtr pRetVal;
  this->CreateObjRef(requestedType, (Mscorlib_tlb::_ObjRefPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
_ObjectHandleDispT<T>::Unwrap(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Unwrap"), DISPID(DISPID_UNKNOWN/*[1610743815]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
_ObjectHandleDispT<T>::Unwrap(void)
{
  TVariant pRetVal;
  this->Unwrap((TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IRemotingTypeInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C09EFFA9-1FFE-3A52-A733-6236CBC45E7B}
// *********************************************************************//
template <class T> HRESULT __fastcall
IRemotingTypeInfoDispT<T>::get_typeName(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("typeName"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
IRemotingTypeInfoDispT<T>::get_typeName(void)
{
  BSTR pRetVal;
  this->get_typeName((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IRemotingTypeInfoDispT<T>::set_typeName(BSTR pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("typeName"), DISPID(1610743808));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
IRemotingTypeInfoDispT<T>::CanCastTo(Mscorlib_tlb::_TypePtr fromType/*[in]*/, 
                                     TVariantInParam o/*[in]*/, TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanCastTo"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<2> _args;
  _args[1] = (LPUNKNOWN)(Mscorlib_tlb::_Type*)fromType /*[VT_USERDEFINED:1]*/;
  _args[2] = o /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
IRemotingTypeInfoDispT<T>::CanCastTo(Mscorlib_tlb::_TypePtr fromType/*[in]*/, 
                                     TVariantInParam o/*[in]*/)
{
  TOLEBOOL pRetVal;
  this->CanCastTo(fromType, o, (TOLEBOOL*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  IChannelInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {855E6566-014A-3FE8-AA70-1EAC771E3A88}
// *********************************************************************//
template <class T> HRESULT __fastcall
IChannelInfoDispT<T>::get_ChannelData(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelData"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
IChannelInfoDispT<T>::get_ChannelData(void)
{
  LPSAFEARRAY pRetVal;
  this->get_ChannelData((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IChannelInfoDispT<T>::set_ChannelData(LPSAFEARRAY pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ChannelData"), DISPID(1610743808));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_SAFEARRAY:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IEnvoyInfo
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {2A6E91B9-A874-38E4-99C2-C5D83D78140D}
// *********************************************************************//
template <class T> HRESULT __fastcall
IEnvoyInfoDispT<T>::get_EnvoySinks(Mscorlib_tlb::IMessageSinkPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnvoySinks"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::IMessageSink**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::IMessageSinkPtr __fastcall
IEnvoyInfoDispT<T>::get_EnvoySinks(void)
{
  Mscorlib_tlb::IMessageSinkPtr pRetVal;
  this->get_EnvoySinks((Mscorlib_tlb::IMessageSinkPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
IEnvoyInfoDispT<T>::_set_EnvoySinks(Mscorlib_tlb::IMessageSinkPtr pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("EnvoySinks"), DISPID(1610743808));
  TAutoArgs<1> _args;
  _args[1] = (LPDISPATCH)(Mscorlib_tlb::IMessageSink*)pRetVal /*[VT_USERDEFINED:1]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_ObjRef
// Interface: _ObjRef
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ObjRef
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1DD3CF3D-DF8E-32FF-91EC-E19AA10B63FB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OneWayAttribute
// Interface: _OneWayAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OneWayAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8FFEDC68-5233-3FA8-813D-405AABB33ECB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ProxyAttribute
// Interface: _ProxyAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ProxyAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D80FF312-2930-3680-A5E9-B48296C7415F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RealProxy
// Interface: _RealProxy
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RealProxy
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E0CF3F77-C7C3-33DA-BEB4-46147FC905DE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapAttribute
// Interface: _SoapAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {725692A5-9E12-37F6-911C-E3DA77E5FACA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapTypeAttribute
// Interface: _SoapTypeAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapTypeAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EBCDCD84-8C74-39FD-821C-F5EB3A2704D7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapMethodAttribute
// Interface: _SoapMethodAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapMethodAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C58145B5-BD5A-3896-95D9-B358F54FBC44}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapFieldAttribute
// Interface: _SoapFieldAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapFieldAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {46A3F9FF-F73C-33C7-BCC3-1BEF4B25E4AE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapParameterAttribute
// Interface: _SoapParameterAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapParameterAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C32ABFC9-3917-30BF-A7BC-44250BDFC5D8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RemotingConfiguration
// Interface: _RemotingConfiguration
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RemotingConfiguration
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4B10971E-D61D-373F-BC8D-2CCF31126215}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TypeEntry
// Interface: _TypeEntry
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8359F3AB-643F-3BCF-91E8-16E779EDEBE1}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ActivatedClientTypeEntry
// Interface: _ActivatedClientTypeEntry
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ActivatedClientTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BAC12781-6865-3558-A8D1-F1CADD2806DD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ActivatedServiceTypeEntry
// Interface: _ActivatedServiceTypeEntry
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ActivatedServiceTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {94855A3B-5CA2-32CF-B1AB-48FD3915822C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WellKnownClientTypeEntry
// Interface: _WellKnownClientTypeEntry
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WellKnownClientTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4D0BC339-E3F9-3E9E-8F68-92168E6F6981}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_WellKnownServiceTypeEntry
// Interface: _WellKnownServiceTypeEntry
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _WellKnownServiceTypeEntry
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {60B8B604-0AED-3093-AC05-EB98FB29FC47}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RemotingException
// Interface: _RemotingException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RemotingException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7264843F-F60C-39A9-99E1-029126AA0815}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ServerException
// Interface: _ServerException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ServerException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {19373C44-55B4-3487-9AD8-4C621AAE85EA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RemotingTimeoutException
// Interface: _RemotingTimeoutException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RemotingTimeoutException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {44DB8E15-ACB1-34EE-81F9-56ED7AE37A5C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RemotingServices
// Interface: _RemotingServices
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RemotingServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7B91368D-A50A-3D36-BE8E-5B8836A419AD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InternalRemotingServices
// Interface: _InternalRemotingServices
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InternalRemotingServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4EFB305-CDC4-31C5-8102-33C9B91774F3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MessageSurrogateFilter
// Interface: _MessageSurrogateFilter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MessageSurrogateFilter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {04A35D22-0B08-34E7-A573-88EF2374375E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RemotingSurrogateSelector
// Interface: _RemotingSurrogateSelector
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RemotingSurrogateSelector
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {551F7A57-8651-37DB-A94A-6A3CA09C0ED7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapServices
// Interface: _SoapServices
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7416B6EE-82E8-3A16-966B-018A40E7B1AA}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ISoapXsd
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {80031D2A-AD59-3FB4-97F3-B864D71DA86B}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISoapXsdDispT<T>::GetXsdType(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("GetXsdType"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> BSTR __fastcall
ISoapXsdDispT<T>::GetXsdType(void)
{
  BSTR pRetVal;
  this->GetXsdType((BSTR*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_SoapDateTime
// Interface: _SoapDateTime
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapDateTime
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1738ADBC-156E-3897-844F-C3147C528DEA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapDuration
// Interface: _SoapDuration
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapDuration
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7EF50DDB-32A5-30A1-B412-47FAB911404A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapTime
// Interface: _SoapTime
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapTime
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A3BF0BCD-EC32-38E6-92F2-5F37BAD8030D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapDate
// Interface: _SoapDate
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapDate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {CFA6E9D2-B3DE-39A6-94D1-CC691DE193F8}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapYearMonth
// Interface: _SoapYearMonth
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapYearMonth
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {103C7EF9-A9EE-35FB-84C5-3086C9725A20}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapYear
// Interface: _SoapYear
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapYear
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C20769F3-858D-316A-BE6D-C347A47948AD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapMonthDay
// Interface: _SoapMonthDay
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapMonthDay
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F9EAD0AA-4156-368F-AE05-FD59D70F758D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapDay
// Interface: _SoapDay
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapDay
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D9E8314D-5053-3497-8A33-97D3DCFE33E2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapMonth
// Interface: _SoapMonth
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapMonth
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B4E32423-E473-3562-AA12-62FDE5A7D4A2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapHexBinary
// Interface: _SoapHexBinary
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapHexBinary
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {63B9DA95-FB91-358A-B7B7-90C34AA34AB7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapBase64Binary
// Interface: _SoapBase64Binary
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapBase64Binary
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8ED115A1-5E7B-34DC-AB85-90316F28015D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapInteger
// Interface: _SoapInteger
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {30C65C40-4E54-3051-9D8F-4709B6AB214C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapPositiveInteger
// Interface: _SoapPositiveInteger
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapPositiveInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4979EC29-C2B7-3AD6-986D-5AAF7344CC4E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNonPositiveInteger
// Interface: _SoapNonPositiveInteger
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNonPositiveInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AAF5401E-F71C-3FE3-8A73-A25074B20D3A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNonNegativeInteger
// Interface: _SoapNonNegativeInteger
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNonNegativeInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BC261FC6-7132-3FB5-9AAC-224845D3AA99}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNegativeInteger
// Interface: _SoapNegativeInteger
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNegativeInteger
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E384AA10-A70C-3943-97CF-0F7C282C3BDC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapAnyUri
// Interface: _SoapAnyUri
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapAnyUri
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {818EC118-BE7E-3CDE-92C8-44B99160920E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapQName
// Interface: _SoapQName
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapQName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3AC646B6-6B84-382F-9AED-22C2433244E6}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNotation
// Interface: _SoapNotation
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNotation
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {974F01F4-6086-3137-9448-6A31FC9BEF08}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNormalizedString
// Interface: _SoapNormalizedString
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNormalizedString
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F4926B50-3F23-37E0-9AFA-AA91FF89A7BD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapToken
// Interface: _SoapToken
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapToken
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AB4E97B9-651D-36F4-AABA-28ACF5746624}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapLanguage
// Interface: _SoapLanguage
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapLanguage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {14AED851-A168-3462-B877-8F9A01126653}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapName
// Interface: _SoapName
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5EB06BEF-4ADF-3CC1-A6F2-62F76886B13A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapIdrefs
// Interface: _SoapIdrefs
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapIdrefs
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7947A829-ADB5-34D0-9CC8-6C172742C803}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapEntities
// Interface: _SoapEntities
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapEntities
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {ACA96DA3-96ED-397E-8A72-EE1BE1025F5E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNmtoken
// Interface: _SoapNmtoken
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNmtoken
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E941FA15-E6C8-3DD4-B060-C0DDFBC0240A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNmtokens
// Interface: _SoapNmtokens
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNmtokens
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A5E385AE-27FB-3708-BAF7-0BF1F3955747}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapNcName
// Interface: _SoapNcName
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapNcName
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {725CDAF7-B739-35C1-8463-E2A923E1F618}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapId
// Interface: _SoapId
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapId
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6A46B6A2-2D2C-3C67-AF67-AAE0175F17AE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapIdref
// Interface: _SoapIdref
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapIdref
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7DB7FD83-DE89-38E1-9645-D4CABDE694C0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapEntity
// Interface: _SoapEntity
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapEntity
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {37171746-B784-3586-A7D5-692A7604A66B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SynchronizationAttribute
// Interface: _SynchronizationAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SynchronizationAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2D985674-231C-33D4-B14D-F3A6BD2EBE19}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ITrackingHandler
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {03EC7D10-17A5-3585-9A2E-0596FCAC3870}
// *********************************************************************//
template <class T> HRESULT __fastcall
ITrackingHandlerDispT<T>::MarshaledObject(TVariantInParam obj/*[in]*/, 
                                          Mscorlib_tlb::_ObjRefPtr or/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MarshaledObject"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<2> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_ObjRef*)or /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ITrackingHandlerDispT<T>::UnmarshaledObject(TVariantInParam obj/*[in]*/, 
                                            Mscorlib_tlb::_ObjRefPtr or/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("UnmarshaledObject"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<2> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  _args[2] = (LPDISPATCH)(Mscorlib_tlb::_ObjRef*)or /*[VT_USERDEFINED:1]*/;
  return OleFunction(_dispid, _args);
}

template <class T> HRESULT __fastcall
ITrackingHandlerDispT<T>::DisconnectedObject(TVariantInParam obj/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("DisconnectedObject"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = obj /*[VT_VARIANT:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_TrackingServices
// Interface: _TrackingServices
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TrackingServices
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F51728F2-2DEF-308C-874A-CBB1BAA9CF9E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UrlAttribute
// Interface: _UrlAttribute
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UrlAttribute
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {717105A3-739B-3BC3-A2B7-AD215903FAD2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorage
// Interface: _IsolatedStorage
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStorage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {34EC3BD7-F2F6-3C20-A639-804BFF89DF65}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFile
// Interface: _IsolatedStorageFile
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStorageFile
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {6BBB7DEE-186F-3D51-9486-BE0A71E915CE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageFileStream
// Interface: _IsolatedStorageFileStream
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStorageFileStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {68D5592B-47C8-381A-8D51-3925C16CF025}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_IsolatedStorageException
// Interface: _IsolatedStorageException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _IsolatedStorageException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AEC2B0DE-9898-3607-B845-63E2E307CB5F}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  INormalizeForIsolatedStorage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {F5006531-D4D7-319E-9EDA-9B4B65AD8D4F}
// *********************************************************************//
template <class T> HRESULT __fastcall
INormalizeForIsolatedStorageDispT<T>::Normalize(TVariant* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("Normalize"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
INormalizeForIsolatedStorageDispT<T>::Normalize(void)
{
  TVariant pRetVal;
  this->Normalize((TVariant*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// DispIntf:  ISoapMessage
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E699146C-7793-3455-9BEF-964C90D8F995}
// *********************************************************************//
template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::get_ParamNames(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParamNames"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISoapMessageDispT<T>::get_ParamNames(void)
{
  LPSAFEARRAY pRetVal;
  this->get_ParamNames((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::set_ParamNames(LPSAFEARRAY pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParamNames"), DISPID(1610743808));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_SAFEARRAY:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::get_ParamValues(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParamValues"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISoapMessageDispT<T>::get_ParamValues(void)
{
  LPSAFEARRAY pRetVal;
  this->get_ParamValues((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::set_ParamValues(LPSAFEARRAY pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParamValues"), DISPID(1610743810));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_SAFEARRAY:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::get_ParamTypes(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParamTypes"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISoapMessageDispT<T>::get_ParamTypes(void)
{
  LPSAFEARRAY pRetVal;
  this->get_ParamTypes((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::set_ParamTypes(LPSAFEARRAY pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ParamTypes"), DISPID(1610743812));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_SAFEARRAY:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::get_MethodName(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("MethodName"), DISPID(DISPID_UNKNOWN/*[1610743814]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ISoapMessageDispT<T>::get_MethodName(void)
{
  BSTR pRetVal;
  this->get_MethodName((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::set_MethodName(BSTR pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("MethodName"), DISPID(1610743814));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::get_XmlNameSpace(BSTR* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("XmlNameSpace"), DISPID(DISPID_UNKNOWN/*[1610743816]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BSTR:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> BSTR __fastcall
ISoapMessageDispT<T>::get_XmlNameSpace(void)
{
  BSTR pRetVal;
  this->get_XmlNameSpace((BSTR*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::set_XmlNameSpace(BSTR pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("XmlNameSpace"), DISPID(1610743816));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_BSTR:0]*/;
  return OlePropertyPut(_dispid, _args);
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::get_headers(LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("headers"), DISPID(DISPID_UNKNOWN/*[1610743818]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ISoapMessageDispT<T>::get_headers(void)
{
  LPSAFEARRAY pRetVal;
  this->get_headers((LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ISoapMessageDispT<T>::set_headers(LPSAFEARRAY pRetVal/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("headers"), DISPID(1610743818));
  TAutoArgs<1> _args;
  _args[1] = pRetVal /*[VT_SAFEARRAY:0]*/;
  return OlePropertyPut(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_InternalRM
// Interface: _InternalRM
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InternalRM
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {361A5049-1BC8-35A9-946A-53A877902F25}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_InternalST
// Interface: _InternalST
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _InternalST
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A864FB13-F945-3DC0-A01C-B903F944FC97}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapMessage
// Interface: _SoapMessage
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapMessage
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BC0847B2-BD5C-37B3-BA67-7D2D54B17238}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SoapFault
// Interface: _SoapFault
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SoapFault
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A1C392FC-314C-39D5-8DE6-1F8EBCA0A1E2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ServerFault
// Interface: _ServerFault
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ServerFault
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {02D1BD78-3BB6-37AD-A9F8-F7D5DA273E4E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_BinaryFormatter
// Interface: _BinaryFormatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _BinaryFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3BCF0CB2-A849-375E-8189-1BA5F1F4A9B0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AssemblyBuilder
// Interface: _AssemblyBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_AssemblyBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                      long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                        unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                        long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_AssemblyBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                 unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                 long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                 long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_ConstructorBuilder
// Interface: _ConstructorBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ConstructorBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ConstructorBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ConstructorBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                           unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                           long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ConstructorBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                    unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                    long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                    long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_CustomAttributeBuilder
// Interface: _CustomAttributeBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_CustomAttributeBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_CustomAttributeBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, 
                                             unsigned_long lcid/*[in]*/, long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_CustomAttributeBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                               unsigned_long cNames/*[in]*/, 
                                               unsigned_long lcid/*[in]*/, long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_CustomAttributeBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                        unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                        long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                        long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_EnumBuilder
// Interface: _EnumBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_EnumBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_EnumBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_EnumBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                    unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                    long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_EnumBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                             unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                             long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                             long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_EventBuilder
// Interface: _EventBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_EventBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_EventBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_EventBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                     unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                     long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_EventBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                              unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                              long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                              long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_FieldBuilder
// Interface: _FieldBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_FieldBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_FieldBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_FieldBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                     unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                     long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_FieldBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                              unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                              long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                              long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_ILGenerator
// Interface: _ILGenerator
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ILGeneratorT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ILGeneratorT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ILGeneratorT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                    unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                    long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ILGeneratorT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                             unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                             long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                             long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_LocalBuilder
// Interface: _LocalBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_LocalBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_LocalBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_LocalBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                     unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                     long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_LocalBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                              unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                              long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                              long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_MethodBuilder
// Interface: _MethodBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_MethodBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                    long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                      unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                      long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_MethodBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                               unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                               long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                               long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_MethodRental
// Interface: _MethodRental
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_MethodRentalT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodRentalT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                   long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_MethodRentalT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                     unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                     long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_MethodRentalT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                              unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                              long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                              long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_ModuleBuilder
// Interface: _ModuleBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ModuleBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ModuleBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                    long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ModuleBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                      unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                      long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ModuleBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                               unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                               long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                               long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_ParameterBuilder
// Interface: _ParameterBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_ParameterBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ParameterBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                       long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_ParameterBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                         unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                         long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_ParameterBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                  unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                  long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                  long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_PropertyBuilder
// Interface: _PropertyBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_PropertyBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_PropertyBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                      long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_PropertyBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                        unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                        long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_PropertyBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                 unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                 long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                 long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_SignatureHelper
// Interface: _SignatureHelper
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_SignatureHelperT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_SignatureHelperT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                      long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_SignatureHelperT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                        unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                        long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_SignatureHelperT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                                 unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                                 long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                                 long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_TypeBuilder
// Interface: _TypeBuilder
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOM_TypeBuilderT<T>::GetTypeInfoCount(unsigned_long* pcTInfo/*[out]*/)
{
  return (*this)->GetTypeInfoCount(pcTInfo);
}

template <class T> HRESULT __fastcall
TCOM_TypeBuilderT<T>::GetTypeInfo(unsigned_long iTInfo/*[in]*/, unsigned_long lcid/*[in]*/, 
                                  long ppTInfo/*[in]*/)
{
  return (*this)->GetTypeInfo(iTInfo, lcid, ppTInfo);
}

template <class T> HRESULT __fastcall
TCOM_TypeBuilderT<T>::GetIDsOfNames(TGUID* riid/*[in]*/, long rgszNames/*[in]*/, 
                                    unsigned_long cNames/*[in]*/, unsigned_long lcid/*[in]*/, 
                                    long rgDispId/*[in]*/)
{
  return (*this)->GetIDsOfNames(riid, rgszNames, cNames, lcid, rgDispId);
}

template <class T> HRESULT __fastcall
TCOM_TypeBuilderT<T>::Invoke(unsigned_long dispIdMember/*[in]*/, TGUID* riid/*[in]*/, 
                             unsigned_long lcid/*[in]*/, short wFlags/*[in]*/, 
                             long pDispParams/*[in]*/, long pVarResult/*[in]*/, 
                             long pExcepInfo/*[in]*/, long puArgErr/*[in]*/)
{
  return (*this)->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, 
                         puArgErr);
}

// *********************************************************************//
// SmartIntf: TCOM_DynamicILInfo
// Interface: _DynamicILInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DynamicILInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0DAEAEE7-007B-3FCA-8755-A5C6C3158955}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DynamicMethod
// Interface: _DynamicMethod
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DynamicMethod
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EAAA2670-0FB1-33EA-852B-F1C97FED1797}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_OpCodes
// Interface: _OpCodes
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _OpCodes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1DB1CC2A-DA73-389E-828B-5C616F4FAC49}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_GenericTypeParameterBuilder
// Interface: _GenericTypeParameterBuilder
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _GenericTypeParameterBuilder
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B1A62835-FC19-35A4-B206-A452463D7EE7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_UnmanagedMarshal
// Interface: _UnmanagedMarshal
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _UnmanagedMarshal
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FD302D86-240A-3694-A31F-9EF59E6E41BC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeySizes
// Interface: _KeySizes
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeySizes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8978B0BE-A89E-3FF9-9834-77862CEBFF3D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CryptographicException
// Interface: _CryptographicException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CryptographicException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4311E8F5-B249-3F81-8FF4-CF853D85306D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CryptographicUnexpectedOperationException
// Interface: _CryptographicUnexpectedOperationException
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CryptographicUnexpectedOperationException
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7FB08423-038F-3ACC-B600-E6D072BAE160}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ICryptoTransform
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {8ABAD867-F515-3CF6-BB62-5F0C88B3BB11}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICryptoTransformDispT<T>::get_InputBlockSize(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("InputBlockSize"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ICryptoTransformDispT<T>::get_InputBlockSize(void)
{
  long pRetVal;
  this->get_InputBlockSize((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICryptoTransformDispT<T>::get_OutputBlockSize(long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("OutputBlockSize"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> long __fastcall
ICryptoTransformDispT<T>::get_OutputBlockSize(void)
{
  long pRetVal;
  this->get_OutputBlockSize((long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICryptoTransformDispT<T>::get_CanTransformMultipleBlocks(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanTransformMultipleBlocks"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
ICryptoTransformDispT<T>::get_CanTransformMultipleBlocks(void)
{
  TOLEBOOL pRetVal;
  this->get_CanTransformMultipleBlocks((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICryptoTransformDispT<T>::get_CanReuseTransform(TOLEBOOL* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CanReuseTransform"), DISPID(DISPID_UNKNOWN/*[1610743811]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(pRetVal /*[VT_BOOL:1]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> TOLEBOOL __fastcall
ICryptoTransformDispT<T>::get_CanReuseTransform(void)
{
  TOLEBOOL pRetVal;
  this->get_CanReuseTransform((TOLEBOOL*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICryptoTransformDispT<T>::TransformBlock(LPSAFEARRAY inputBuffer/*[in]*/, long inputOffset/*[in]*/, 
                                         long inputCount/*[in]*/, LPSAFEARRAY outputBuffer/*[in]*/, 
                                         long outputOffset/*[in]*/, long* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TransformBlock"), DISPID(DISPID_UNKNOWN/*[1610743812]*/));
  TAutoArgs<5> _args;
  _args[1] = inputBuffer /*[VT_SAFEARRAY:0]*/;
  _args[2] = inputOffset /*[VT_I4:0]*/;
  _args[3] = inputCount /*[VT_I4:0]*/;
  _args[4] = outputBuffer /*[VT_SAFEARRAY:0]*/;
  _args[5] = outputOffset /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_I4:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> long __fastcall
ICryptoTransformDispT<T>::TransformBlock(LPSAFEARRAY inputBuffer/*[in]*/, long inputOffset/*[in]*/, 
                                         long inputCount/*[in]*/, LPSAFEARRAY outputBuffer/*[in]*/, 
                                         long outputOffset/*[in]*/)
{
  long pRetVal;
  this->TransformBlock(inputBuffer, inputOffset, inputCount, outputBuffer, outputOffset, (long*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICryptoTransformDispT<T>::TransformFinalBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                              long inputOffset/*[in]*/, long inputCount/*[in]*/, 
                                              LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("TransformFinalBlock"), DISPID(DISPID_UNKNOWN/*[1610743813]*/));
  TAutoArgs<3> _args;
  _args[1] = inputBuffer /*[VT_SAFEARRAY:0]*/;
  _args[2] = inputOffset /*[VT_I4:0]*/;
  _args[3] = inputCount /*[VT_I4:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ICryptoTransformDispT<T>::TransformFinalBlock(LPSAFEARRAY inputBuffer/*[in]*/, 
                                              long inputOffset/*[in]*/, long inputCount/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->TransformFinalBlock(inputBuffer, inputOffset, inputCount, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

// *********************************************************************//
// SmartIntf: TCOM_RandomNumberGenerator
// Interface: _RandomNumberGenerator
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RandomNumberGenerator
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7AE4B03C-414A-36E0-BA68-F9603004C925}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RNGCryptoServiceProvider
// Interface: _RNGCryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RNGCryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {2C65D4C0-584C-3E4E-8E6D-1AFB112BFF69}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AsymmetricAlgorithm
// Interface: _AsymmetricAlgorithm
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AsymmetricAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {09343AC0-D19A-3E62-BC16-0F600F10180A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AsymmetricKeyExchangeDeformatter
// Interface: _AsymmetricKeyExchangeDeformatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AsymmetricKeyExchangeDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B6685CCA-7A49-37D1-A805-3DE829CB8DEB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AsymmetricKeyExchangeFormatter
// Interface: _AsymmetricKeyExchangeFormatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AsymmetricKeyExchangeFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1365B84B-6477-3C40-BE6A-089DC01ECED9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AsymmetricSignatureDeformatter
// Interface: _AsymmetricSignatureDeformatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AsymmetricSignatureDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {7CA5FE57-D1AC-3064-BB0B-F450BE40F194}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_AsymmetricSignatureFormatter
// Interface: _AsymmetricSignatureFormatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _AsymmetricSignatureFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5363D066-6295-3618-BE33-3F0B070B7976}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_ToBase64Transform
// Interface: _ToBase64Transform
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _ToBase64Transform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {23DED1E1-7D5F-3936-AA4E-18BBCC39B155}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_FromBase64Transform
// Interface: _FromBase64Transform
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _FromBase64Transform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FC0717A6-2E86-372F-81F4-B35ED4BDF0DE}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CryptoAPITransform
// Interface: _CryptoAPITransform
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CryptoAPITransform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {983B8639-2ED7-364C-9899-682ABB2CE850}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CspParameters
// Interface: _CspParameters
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CspParameters
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D5331D95-FFF2-358F-AFD5-588F469FF2E4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CryptoConfig
// Interface: _CryptoConfig
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CryptoConfig
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {AB00F3F8-7DDE-3FF5-B805-6C5DBB200549}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CryptoStream
// Interface: _CryptoStream
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CryptoStream
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4134F762-D0EC-3210-93C0-DE4F443D5669}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SymmetricAlgorithm
// Interface: _SymmetricAlgorithm
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SymmetricAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {05BC0E38-7136-3825-9E34-26C1CF2142C9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DES
// Interface: _DES
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DES
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C7EF0214-B91C-3799-98DD-C994AABFC741}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DESCryptoServiceProvider
// Interface: _DESCryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DESCryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {65E8495E-5207-3248-9250-0FC849B4F096}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DeriveBytes
// Interface: _DeriveBytes
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DeriveBytes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {140EE78F-067F-3765-9258-C3BC72FE976B}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DSA
// Interface: _DSA
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DSA
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0EB5B5E0-1BE6-3A5F-87B3-E3323342F44E}
// *********************************************************************//
// *********************************************************************//
// DispIntf:  ICspAsymmetricAlgorithm
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {494A7583-190E-3693-9EC4-DE54DC6A84A2}
// *********************************************************************//
template <class T> HRESULT __fastcall
ICspAsymmetricAlgorithmDispT<T>::get_CspKeyContainerInfo(Mscorlib_tlb::_CspKeyContainerInfoPtr* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("CspKeyContainerInfo"), DISPID(DISPID_UNKNOWN/*[1610743808]*/));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr((LPDISPATCH*)(Mscorlib_tlb::_CspKeyContainerInfo**)pRetVal /*[VT_USERDEFINED:2]*/, _args, OlePropertyGet(_dispid, _args));
}

template <class T> Mscorlib_tlb::_CspKeyContainerInfoPtr __fastcall
ICspAsymmetricAlgorithmDispT<T>::get_CspKeyContainerInfo(void)
{
  Mscorlib_tlb::_CspKeyContainerInfoPtr pRetVal;
  this->get_CspKeyContainerInfo((Mscorlib_tlb::_CspKeyContainerInfoPtr*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICspAsymmetricAlgorithmDispT<T>::ExportCspBlob(TOLEBOOL includePrivateParameters/*[in]*/, 
                                               LPSAFEARRAY* pRetVal/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("ExportCspBlob"), DISPID(DISPID_UNKNOWN/*[1610743809]*/));
  TAutoArgs<1> _args;
  _args[1] = includePrivateParameters /*[VT_BOOL:0]*/;
  return OutRetValSetterPtr(pRetVal /*[VT_SAFEARRAY:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> LPSAFEARRAY __fastcall
ICspAsymmetricAlgorithmDispT<T>::ExportCspBlob(TOLEBOOL includePrivateParameters/*[in]*/)
{
  LPSAFEARRAY pRetVal;
  this->ExportCspBlob(includePrivateParameters, (LPSAFEARRAY*)&pRetVal);
  return pRetVal;
}

template <class T> HRESULT __fastcall
ICspAsymmetricAlgorithmDispT<T>::ImportCspBlob(LPSAFEARRAY rawData/*[in]*/)
{
  _TDispID _dispid(*this, OLETEXT("ImportCspBlob"), DISPID(DISPID_UNKNOWN/*[1610743810]*/));
  TAutoArgs<1> _args;
  _args[1] = rawData /*[VT_SAFEARRAY:0]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// SmartIntf: TCOM_DSACryptoServiceProvider
// Interface: _DSACryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DSACryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1F38AAFE-7502-332F-971F-C2FC700A1D55}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DSASignatureDeformatter
// Interface: _DSASignatureDeformatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DSASignatureDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0E774498-ADE6-3820-B1D5-426B06397BE7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_DSASignatureFormatter
// Interface: _DSASignatureFormatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _DSASignatureFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {4B5FC561-5983-31E4-903B-1404231B2C89}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HashAlgorithm
// Interface: _HashAlgorithm
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HashAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {69D3BABA-1C3D-354C-ACFE-F19109EC3896}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_KeyedHashAlgorithm
// Interface: _KeyedHashAlgorithm
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _KeyedHashAlgorithm
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D182CF91-628C-3FF6-87F0-41BA51CC7433}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HMAC
// Interface: _HMAC
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HMAC
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5456726-33F6-34E4-95C2-DB2BFA581462}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HMACMD5
// Interface: _HMACMD5
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HMACMD5
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {486360F5-6213-322B-BEFB-45221579D4AF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HMACRIPEMD160
// Interface: _HMACRIPEMD160
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HMACRIPEMD160
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9FD974A5-338C-37B9-A1B2-D45F0C2B25C2}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HMACSHA1
// Interface: _HMACSHA1
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HMACSHA1
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {63AC7C37-C51A-3D82-8FDD-2A567039E46D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HMACSHA256
// Interface: _HMACSHA256
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HMACSHA256
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1377CE34-8921-3BD4-96E9-C8D5D5AA1ADF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HMACSHA384
// Interface: _HMACSHA384
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HMACSHA384
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {786F8AC3-93E4-3B6F-9F62-1901B0E5F433}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_HMACSHA512
// Interface: _HMACSHA512
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _HMACSHA512
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EB081B9D-A766-3ABE-B720-505C42162D83}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_CspKeyContainerInfo
// Interface: _CspKeyContainerInfo
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _CspKeyContainerInfo
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BE8619CB-3731-3CB2-A3A8-CD0BFA5566EC}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MACTripleDES
// Interface: _MACTripleDES
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MACTripleDES
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {1CAC0BDA-AC58-31BC-B624-63F77D0C3D2F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MD5
// Interface: _MD5
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MD5
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9AA8765E-69A0-30E3-9CDE-EBC70662AE37}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MD5CryptoServiceProvider
// Interface: _MD5CryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MD5CryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {D3F5C812-5867-33C9-8CEE-CB170E8D844A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_MaskGenerationMethod
// Interface: _MaskGenerationMethod
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _MaskGenerationMethod
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {85601FEE-A79D-3710-AF21-099089EDC0BF}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PasswordDeriveBytes
// Interface: _PasswordDeriveBytes
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PasswordDeriveBytes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3CD62D67-586F-309E-A6D8-1F4BAAC5AC28}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_PKCS1MaskGenerationMethod
// Interface: _PKCS1MaskGenerationMethod
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _PKCS1MaskGenerationMethod
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {425BFF0D-59E4-36A8-B1FF-1F5D39D698F4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RC2
// Interface: _RC2
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RC2
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {F7C0C4CC-0D49-31EE-A3D3-B8B551E4928C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RC2CryptoServiceProvider
// Interface: _RC2CryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RC2CryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {875715C5-CB64-3920-8156-0EE9CB0E07EA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Rfc2898DeriveBytes
// Interface: _Rfc2898DeriveBytes
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Rfc2898DeriveBytes
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A6589897-5A67-305F-9497-72E5FE8BEAD5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RIPEMD160
// Interface: _RIPEMD160
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RIPEMD160
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {E5481BE9-3422-3506-BC35-B96D4535014D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RIPEMD160Managed
// Interface: _RIPEMD160Managed
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RIPEMD160Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {814F9C35-B7F8-3CEB-8E43-E01F09157060}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSA
// Interface: _RSA
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSA
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {0B3FB710-A25C-3310-8774-1CF117F95BD4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSACryptoServiceProvider
// Interface: _RSACryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSACryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {BD9DF856-2300-3254-BCF0-679BA03C7A13}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSAOAEPKeyExchangeDeformatter
// Interface: _RSAOAEPKeyExchangeDeformatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSAOAEPKeyExchangeDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {37625095-7BAA-377D-A0DC-7F465C0167AA}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSAOAEPKeyExchangeFormatter
// Interface: _RSAOAEPKeyExchangeFormatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSAOAEPKeyExchangeFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {77A416E7-2AC6-3D0E-98FF-3BA0F586F56F}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1KeyExchangeDeformatter
// Interface: _RSAPKCS1KeyExchangeDeformatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSAPKCS1KeyExchangeDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8034AAF4-3666-3B6F-85CF-463F9BFD31A9}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1KeyExchangeFormatter
// Interface: _RSAPKCS1KeyExchangeFormatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSAPKCS1KeyExchangeFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {9FF67F8E-A7AA-3BA6-90EE-9D44AF6E2F8C}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1SignatureDeformatter
// Interface: _RSAPKCS1SignatureDeformatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSAPKCS1SignatureDeformatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FC38507E-06A4-3300-8652-8D7B54341F65}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RSAPKCS1SignatureFormatter
// Interface: _RSAPKCS1SignatureFormatter
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RSAPKCS1SignatureFormatter
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {FB7A5FF4-CFA8-3F24-AD5F-D5EB39359707}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_Rijndael
// Interface: _Rijndael
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _Rijndael
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {21B52A91-856F-373C-AD42-4CF3F1021F5A}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RijndaelManaged
// Interface: _RijndaelManaged
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RijndaelManaged
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {427EA9D3-11D8-3E38-9E05-A4F7FA684183}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_RijndaelManagedTransform
// Interface: _RijndaelManagedTransform
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _RijndaelManagedTransform
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {5767C78F-F344-35A5-84BC-53B9EAEB68CB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA1
// Interface: _SHA1
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA1
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {48600DD2-0099-337F-92D6-961D1E5010D4}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA1CryptoServiceProvider
// Interface: _SHA1CryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA1CryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {A16537BC-1EDF-3516-B75E-CC65CAF873AB}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA1Managed
// Interface: _SHA1Managed
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA1Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C27990BB-3CFD-3D29-8DC0-BBE5FBADEAFD}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA256
// Interface: _SHA256
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA256
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3B274703-DFAE-3F9C-A1B5-9990DF9D7FA3}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA256Managed
// Interface: _SHA256Managed
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA256Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {3D077954-7BCC-325B-9DDA-3B17A03378E0}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA384
// Interface: _SHA384
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA384
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {B60AD5D7-2C2E-35B7-8D77-7946156CFE8E}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA384Managed
// Interface: _SHA384Managed
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA384Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DE541460-F838-3698-B2DA-510B09070118}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA512
// Interface: _SHA512
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA512
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {49DD9E4B-84F3-3D6D-91FB-3FEDCEF634C7}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SHA512Managed
// Interface: _SHA512Managed
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SHA512Managed
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {DC8CE439-7954-36ED-803C-674F72F27249}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_SignatureDescription
// Interface: _SignatureDescription
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _SignatureDescription
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {8017B414-4886-33DA-80A3-7865C1350D43}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TripleDES
// Interface: _TripleDES
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TripleDES
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {C040B889-5278-3132-AFF9-AFA61707A81D}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_TripleDESCryptoServiceProvider
// Interface: _TripleDESCryptoServiceProvider
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _TripleDESCryptoServiceProvider
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {EC69D083-3CD0-3C0C-998C-3B738DB535D5}
// *********************************************************************//
// *********************************************************************//
// SmartIntf: TCOM_X509Certificate
// Interface: _X509Certificate
// *********************************************************************//
// *********************************************************************//
// DispIntf:  _X509Certificate
// Flags:     (4432) Hidden Dual OleAutomation Dispatchable
// GUID:      {68FD6F14-A7B2-36C8-A724-D01F90D73477}
// *********************************************************************//
// *********************************************************************//
// Les typedefs suivants exposent les classes (CoCoClassName) qui  
// fournissent les méthodes statiques Create() et CreateRemote(LPWSTR machineName)  
// pour créer une instance d'objet exposé. Ces fonctions peuvent    
// être utilisés par les clients désirant automatiser les CoClasses exposées par cette  
// bibliothèque de types.                                                          
// *********************************************************************//

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Exception
// Interface: TCOM_Exception
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Exception, _Exception, &CLSID_Exception, &IID__Exception> CoException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Activator
// Interface: TCOM_Activator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Activator, _Activator, &CLSID_Activator, &IID__Activator> CoActivator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AppDomain
// Interface: TCOM_AppDomain
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AppDomain, _AppDomain, &CLSID_AppDomain, &IID__AppDomain> CoAppDomain;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AppDomainSetup
// Interface: TCOMIAppDomainSetup
// *********************************************************************//
typedef TCoClassCreatorT<TCOMIAppDomainSetup, IAppDomainSetup, &CLSID_AppDomainSetup, &IID_IAppDomainSetup> CoAppDomainSetup;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Attribute
// Interface: TCOM_Attribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Attribute, _Attribute, &CLSID_Attribute, &IID__Attribute> CoAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MemberInfo
// Interface: TCOM_MemberInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MemberInfo, _MemberInfo, &CLSID_MemberInfo, &IID__MemberInfo> CoMemberInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Type
// Interface: TCOM_Type
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Type, _Type, &CLSID_Type, &IID__Type> CoType;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Thread
// Interface: TCOM_Thread
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Thread, _Thread, &CLSID_Thread, &IID__Thread> CoThread;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Assembly
// Interface: TCOM_Assembly
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Assembly, _Assembly, &CLSID_Assembly, &IID__Assembly> CoAssembly;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyName
// Interface: TCOM_AssemblyName
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyName, _AssemblyName, &CLSID_AssemblyName, &IID__AssemblyName> CoAssemblyName;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Module
// Interface: TCOM_Module
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Module, _Module, &CLSID_Module, &IID__Module> CoModule;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodBase
// Interface: TCOM_MethodBase
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodBase, _MethodBase, &CLSID_MethodBase, &IID__MethodBase> CoMethodBase;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ConstructorInfo
// Interface: TCOM_ConstructorInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ConstructorInfo, _ConstructorInfo, &CLSID_ConstructorInfo, &IID__ConstructorInfo> CoConstructorInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodInfo
// Interface: TCOM_MethodInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodInfo, _MethodInfo, &CLSID_MethodInfo, &IID__MethodInfo> CoMethodInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FieldInfo
// Interface: TCOM_FieldInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FieldInfo, _FieldInfo, &CLSID_FieldInfo, &IID__FieldInfo> CoFieldInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EventInfo
// Interface: TCOM_EventInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EventInfo, _EventInfo, &CLSID_EventInfo, &IID__EventInfo> CoEventInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PropertyInfo
// Interface: TCOM_PropertyInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PropertyInfo, _PropertyInfo, &CLSID_PropertyInfo, &IID__PropertyInfo> CoPropertyInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ParameterInfo
// Interface: TCOM_ParameterInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ParameterInfo, _ParameterInfo, &CLSID_ParameterInfo, &IID__ParameterInfo> CoParameterInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RegistrationServices
// Interface: TCOMIRegistrationServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOMIRegistrationServices, IRegistrationServices, &CLSID_RegistrationServices, &IID_IRegistrationServices> CoRegistrationServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeLibConverter
// Interface: TCOMITypeLibConverter
// *********************************************************************//
typedef TCoClassCreatorT<TCOMITypeLibConverter, ITypeLibConverter, &CLSID_TypeLibConverter, &IID_ITypeLibConverter> CoTypeLibConverter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyBuilder
// Interface: TCOM_AssemblyBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyBuilder, _AssemblyBuilder, &CLSID_AssemblyBuilder, &IID__AssemblyBuilder> CoAssemblyBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ConstructorBuilder
// Interface: TCOM_ConstructorBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ConstructorBuilder, _ConstructorBuilder, &CLSID_ConstructorBuilder, &IID__ConstructorBuilder> CoConstructorBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ILGenerator
// Interface: TCOM_ILGenerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ILGenerator, _ILGenerator, &CLSID_ILGenerator, &IID__ILGenerator> CoILGenerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EventBuilder
// Interface: TCOM_EventBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EventBuilder, _EventBuilder, &CLSID_EventBuilder, &IID__EventBuilder> CoEventBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FieldBuilder
// Interface: TCOM_FieldBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FieldBuilder, _FieldBuilder, &CLSID_FieldBuilder, &IID__FieldBuilder> CoFieldBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : LocalBuilder
// Interface: TCOM_LocalBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LocalBuilder, _LocalBuilder, &CLSID_LocalBuilder, &IID__LocalBuilder> CoLocalBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodBuilder
// Interface: TCOM_MethodBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodBuilder, _MethodBuilder, &CLSID_MethodBuilder, &IID__MethodBuilder> CoMethodBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CustomAttributeBuilder
// Interface: TCOM_CustomAttributeBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CustomAttributeBuilder, _CustomAttributeBuilder, &CLSID_CustomAttributeBuilder, &IID__CustomAttributeBuilder> CoCustomAttributeBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodRental
// Interface: TCOM_MethodRental
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodRental, _MethodRental, &CLSID_MethodRental, &IID__MethodRental> CoMethodRental;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ModuleBuilder
// Interface: TCOM_ModuleBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ModuleBuilder, _ModuleBuilder, &CLSID_ModuleBuilder, &IID__ModuleBuilder> CoModuleBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ParameterBuilder
// Interface: TCOM_ParameterBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ParameterBuilder, _ParameterBuilder, &CLSID_ParameterBuilder, &IID__ParameterBuilder> CoParameterBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PropertyBuilder
// Interface: TCOM_PropertyBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PropertyBuilder, _PropertyBuilder, &CLSID_PropertyBuilder, &IID__PropertyBuilder> CoPropertyBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SignatureHelper
// Interface: TCOM_SignatureHelper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SignatureHelper, _SignatureHelper, &CLSID_SignatureHelper, &IID__SignatureHelper> CoSignatureHelper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeBuilder
// Interface: TCOM_TypeBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeBuilder, _TypeBuilder, &CLSID_TypeBuilder, &IID__TypeBuilder> CoTypeBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EnumBuilder
// Interface: TCOM_EnumBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EnumBuilder, _EnumBuilder, &CLSID_EnumBuilder, &IID__EnumBuilder> CoEnumBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Object
// Interface: TCOM_Object
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Object, _Object, &CLSID_Object, &IID__Object> CoObject;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Array
// Interface: TCOM_Array
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Array, _Array, &CLSID_Array, &IID__Array> CoArray;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ValueType
// Interface: TCOM_ValueType
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ValueType, _ValueType, &CLSID_ValueType, &IID__ValueType> CoValueType;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Enum
// Interface: TCOM_Enum
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Enum, _Enum, &CLSID_Enum, &IID__Enum> CoEnum;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : String
// Interface: TCOM_String
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_String, _String, &CLSID_String, &IID__String> CoString;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StringComparer
// Interface: TCOM_StringComparer
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StringComparer, _StringComparer, &CLSID_StringComparer, &IID__StringComparer> CoStringComparer;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StringBuilder
// Interface: TCOM_StringBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StringBuilder, _StringBuilder, &CLSID_StringBuilder, &IID__StringBuilder> CoStringBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SystemException
// Interface: TCOM_SystemException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SystemException, _SystemException, &CLSID_SystemException, &IID__SystemException> CoSystemException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OutOfMemoryException
// Interface: TCOM_OutOfMemoryException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OutOfMemoryException, _OutOfMemoryException, &CLSID_OutOfMemoryException, &IID__OutOfMemoryException> CoOutOfMemoryException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StackOverflowException
// Interface: TCOM_StackOverflowException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StackOverflowException, _StackOverflowException, &CLSID_StackOverflowException, &IID__StackOverflowException> CoStackOverflowException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DataMisalignedException
// Interface: TCOM_DataMisalignedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DataMisalignedException, _DataMisalignedException, &CLSID_DataMisalignedException, &IID__DataMisalignedException> CoDataMisalignedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ExecutionEngineException
// Interface: TCOM_ExecutionEngineException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ExecutionEngineException, _ExecutionEngineException, &CLSID_ExecutionEngineException, &IID__ExecutionEngineException> CoExecutionEngineException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Delegate
// Interface: TCOM_Delegate
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Delegate, _Delegate, &CLSID_Delegate, &IID__Delegate> CoDelegate;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MulticastDelegate
// Interface: TCOM_MulticastDelegate
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MulticastDelegate, _MulticastDelegate, &CLSID_MulticastDelegate, &IID__MulticastDelegate> CoMulticastDelegate;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MemberAccessException
// Interface: TCOM_MemberAccessException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MemberAccessException, _MemberAccessException, &CLSID_MemberAccessException, &IID__MemberAccessException> CoMemberAccessException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AccessViolationException
// Interface: TCOM_AccessViolationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AccessViolationException, _AccessViolationException, &CLSID_AccessViolationException, &IID__AccessViolationException> CoAccessViolationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationActivator
// Interface: TCOM_ApplicationActivator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationActivator, _ApplicationActivator, &CLSID_ApplicationActivator, &IID__ApplicationActivator> CoApplicationActivator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationException
// Interface: TCOM_ApplicationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationException, _ApplicationException, &CLSID_ApplicationException, &IID__ApplicationException> CoApplicationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EventArgs
// Interface: TCOM_EventArgs
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EventArgs, _EventArgs, &CLSID_EventArgs, &IID__EventArgs> CoEventArgs;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ResolveEventArgs
// Interface: TCOM_ResolveEventArgs
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ResolveEventArgs, _ResolveEventArgs, &CLSID_ResolveEventArgs, &IID__ResolveEventArgs> CoResolveEventArgs;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyLoadEventArgs
// Interface: TCOM_AssemblyLoadEventArgs
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyLoadEventArgs, _AssemblyLoadEventArgs, &CLSID_AssemblyLoadEventArgs, &IID__AssemblyLoadEventArgs> CoAssemblyLoadEventArgs;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ResolveEventHandler
// Interface: TCOM_ResolveEventHandler
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ResolveEventHandler, _ResolveEventHandler, &CLSID_ResolveEventHandler, &IID__ResolveEventHandler> CoResolveEventHandler;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyLoadEventHandler
// Interface: TCOM_AssemblyLoadEventHandler
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyLoadEventHandler, _AssemblyLoadEventHandler, &CLSID_AssemblyLoadEventHandler, &IID__AssemblyLoadEventHandler> CoAssemblyLoadEventHandler;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AppDomainInitializer
// Interface: TCOM_AppDomainInitializer
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AppDomainInitializer, _AppDomainInitializer, &CLSID_AppDomainInitializer, &IID__AppDomainInitializer> CoAppDomainInitializer;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MarshalByRefObject
// Interface: TCOM_MarshalByRefObject
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MarshalByRefObject, _MarshalByRefObject, &CLSID_MarshalByRefObject, &IID__MarshalByRefObject> CoMarshalByRefObject;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CrossAppDomainDelegate
// Interface: TCOM_CrossAppDomainDelegate
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CrossAppDomainDelegate, _CrossAppDomainDelegate, &CLSID_CrossAppDomainDelegate, &IID__CrossAppDomainDelegate> CoCrossAppDomainDelegate;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AppDomainManager
// Interface: TCOM_AppDomainManager
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AppDomainManager, _AppDomainManager, &CLSID_AppDomainManager, &IID__AppDomainManager> CoAppDomainManager;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : LoaderOptimizationAttribute
// Interface: TCOM_LoaderOptimizationAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LoaderOptimizationAttribute, _LoaderOptimizationAttribute, &CLSID_LoaderOptimizationAttribute, &IID__LoaderOptimizationAttribute> CoLoaderOptimizationAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AppDomainUnloadedException
// Interface: TCOM_AppDomainUnloadedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AppDomainUnloadedException, _AppDomainUnloadedException, &CLSID_AppDomainUnloadedException, &IID__AppDomainUnloadedException> CoAppDomainUnloadedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ActivationArguments
// Interface: TCOM_ActivationArguments
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ActivationArguments, _ActivationArguments, &CLSID_ActivationArguments, &IID__ActivationArguments> CoActivationArguments;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationId
// Interface: TCOM_ApplicationId
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationId, _ApplicationId, &CLSID_ApplicationId, &IID__ApplicationId> CoApplicationId;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ArgumentException
// Interface: TCOM_ArgumentException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ArgumentException, _ArgumentException, &CLSID_ArgumentException, &IID__ArgumentException> CoArgumentException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ArgumentNullException
// Interface: TCOM_ArgumentNullException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ArgumentNullException, _ArgumentNullException, &CLSID_ArgumentNullException, &IID__ArgumentNullException> CoArgumentNullException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ArgumentOutOfRangeException
// Interface: TCOM_ArgumentOutOfRangeException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ArgumentOutOfRangeException, _ArgumentOutOfRangeException, &CLSID_ArgumentOutOfRangeException, &IID__ArgumentOutOfRangeException> CoArgumentOutOfRangeException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ArithmeticException
// Interface: TCOM_ArithmeticException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ArithmeticException, _ArithmeticException, &CLSID_ArithmeticException, &IID__ArithmeticException> CoArithmeticException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ArrayTypeMismatchException
// Interface: TCOM_ArrayTypeMismatchException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ArrayTypeMismatchException, _ArrayTypeMismatchException, &CLSID_ArrayTypeMismatchException, &IID__ArrayTypeMismatchException> CoArrayTypeMismatchException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AsyncCallback
// Interface: TCOM_AsyncCallback
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AsyncCallback, _AsyncCallback, &CLSID_AsyncCallback, &IID__AsyncCallback> CoAsyncCallback;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AttributeUsageAttribute
// Interface: TCOM_AttributeUsageAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AttributeUsageAttribute, _AttributeUsageAttribute, &CLSID_AttributeUsageAttribute, &IID__AttributeUsageAttribute> CoAttributeUsageAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BadImageFormatException
// Interface: TCOM_BadImageFormatException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BadImageFormatException, _BadImageFormatException, &CLSID_BadImageFormatException, &IID__BadImageFormatException> CoBadImageFormatException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Buffer
// Interface: TCOM_Buffer
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Buffer, _Buffer, &CLSID_Buffer, &IID__Buffer> CoBuffer;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CannotUnloadAppDomainException
// Interface: TCOM_CannotUnloadAppDomainException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CannotUnloadAppDomainException, _CannotUnloadAppDomainException, &CLSID_CannotUnloadAppDomainException, &IID__CannotUnloadAppDomainException> CoCannotUnloadAppDomainException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CharEnumerator
// Interface: TCOM_CharEnumerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CharEnumerator, _CharEnumerator, &CLSID_CharEnumerator, &IID__CharEnumerator> CoCharEnumerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CLSCompliantAttribute
// Interface: TCOM_CLSCompliantAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CLSCompliantAttribute, _CLSCompliantAttribute, &CLSID_CLSCompliantAttribute, &IID__CLSCompliantAttribute> CoCLSCompliantAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeUnloadedException
// Interface: TCOM_TypeUnloadedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeUnloadedException, _TypeUnloadedException, &CLSID_TypeUnloadedException, &IID__TypeUnloadedException> CoTypeUnloadedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CriticalFinalizerObject
// Interface: TCOM_CriticalFinalizerObject
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CriticalFinalizerObject, _CriticalFinalizerObject, &CLSID_CriticalFinalizerObject, &IID__CriticalFinalizerObject> CoCriticalFinalizerObject;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ContextMarshalException
// Interface: TCOM_ContextMarshalException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ContextMarshalException, _ContextMarshalException, &CLSID_ContextMarshalException, &IID__ContextMarshalException> CoContextMarshalException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ContextBoundObject
// Interface: TCOM_ContextBoundObject
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ContextBoundObject, _ContextBoundObject, &CLSID_ContextBoundObject, &IID__ContextBoundObject> CoContextBoundObject;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ContextStaticAttribute
// Interface: TCOM_ContextStaticAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ContextStaticAttribute, _ContextStaticAttribute, &CLSID_ContextStaticAttribute, &IID__ContextStaticAttribute> CoContextStaticAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TimeZone
// Interface: TCOM_TimeZone
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TimeZone, _TimeZone, &CLSID_TimeZone, &IID__TimeZone> CoTimeZone;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DBNull
// Interface: TCOM_DBNull
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DBNull, _DBNull, &CLSID_DBNull, &IID__DBNull> CoDBNull;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Binder
// Interface: TCOM_Binder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Binder, _Binder, &CLSID_Binder, &IID__Binder> CoBinder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DivideByZeroException
// Interface: TCOM_DivideByZeroException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DivideByZeroException, _DivideByZeroException, &CLSID_DivideByZeroException, &IID__DivideByZeroException> CoDivideByZeroException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DuplicateWaitObjectException
// Interface: TCOM_DuplicateWaitObjectException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DuplicateWaitObjectException, _DuplicateWaitObjectException, &CLSID_DuplicateWaitObjectException, &IID__DuplicateWaitObjectException> CoDuplicateWaitObjectException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeLoadException
// Interface: TCOM_TypeLoadException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeLoadException, _TypeLoadException, &CLSID_TypeLoadException, &IID__TypeLoadException> CoTypeLoadException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EntryPointNotFoundException
// Interface: TCOM_EntryPointNotFoundException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EntryPointNotFoundException, _EntryPointNotFoundException, &CLSID_EntryPointNotFoundException, &IID__EntryPointNotFoundException> CoEntryPointNotFoundException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DllNotFoundException
// Interface: TCOM_DllNotFoundException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DllNotFoundException, _DllNotFoundException, &CLSID_DllNotFoundException, &IID__DllNotFoundException> CoDllNotFoundException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Environment
// Interface: TCOM_Environment
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Environment, _Environment, &CLSID_Environment, &IID__Environment> CoEnvironment;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EventHandler
// Interface: TCOM_EventHandler
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EventHandler, _EventHandler, &CLSID_EventHandler, &IID__EventHandler> CoEventHandler;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FieldAccessException
// Interface: TCOM_FieldAccessException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FieldAccessException, _FieldAccessException, &CLSID_FieldAccessException, &IID__FieldAccessException> CoFieldAccessException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FlagsAttribute
// Interface: TCOM_FlagsAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FlagsAttribute, _FlagsAttribute, &CLSID_FlagsAttribute, &IID__FlagsAttribute> CoFlagsAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FormatException
// Interface: TCOM_FormatException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FormatException, _FormatException, &CLSID_FormatException, &IID__FormatException> CoFormatException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IndexOutOfRangeException
// Interface: TCOM_IndexOutOfRangeException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IndexOutOfRangeException, _IndexOutOfRangeException, &CLSID_IndexOutOfRangeException, &IID__IndexOutOfRangeException> CoIndexOutOfRangeException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InvalidCastException
// Interface: TCOM_InvalidCastException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InvalidCastException, _InvalidCastException, &CLSID_InvalidCastException, &IID__InvalidCastException> CoInvalidCastException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InvalidOperationException
// Interface: TCOM_InvalidOperationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InvalidOperationException, _InvalidOperationException, &CLSID_InvalidOperationException, &IID__InvalidOperationException> CoInvalidOperationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InvalidProgramException
// Interface: TCOM_InvalidProgramException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InvalidProgramException, _InvalidProgramException, &CLSID_InvalidProgramException, &IID__InvalidProgramException> CoInvalidProgramException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : LocalDataStoreSlot
// Interface: TCOM_LocalDataStoreSlot
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LocalDataStoreSlot, _LocalDataStoreSlot, &CLSID_LocalDataStoreSlot, &IID__LocalDataStoreSlot> CoLocalDataStoreSlot;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodAccessException
// Interface: TCOM_MethodAccessException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodAccessException, _MethodAccessException, &CLSID_MethodAccessException, &IID__MethodAccessException> CoMethodAccessException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MissingMemberException
// Interface: TCOM_MissingMemberException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MissingMemberException, _MissingMemberException, &CLSID_MissingMemberException, &IID__MissingMemberException> CoMissingMemberException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MissingFieldException
// Interface: TCOM_MissingFieldException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MissingFieldException, _MissingFieldException, &CLSID_MissingFieldException, &IID__MissingFieldException> CoMissingFieldException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MissingMethodException
// Interface: TCOM_MissingMethodException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MissingMethodException, _MissingMethodException, &CLSID_MissingMethodException, &IID__MissingMethodException> CoMissingMethodException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MulticastNotSupportedException
// Interface: TCOM_MulticastNotSupportedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MulticastNotSupportedException, _MulticastNotSupportedException, &CLSID_MulticastNotSupportedException, &IID__MulticastNotSupportedException> CoMulticastNotSupportedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NonSerializedAttribute
// Interface: TCOM_NonSerializedAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NonSerializedAttribute, _NonSerializedAttribute, &CLSID_NonSerializedAttribute, &IID__NonSerializedAttribute> CoNonSerializedAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NotFiniteNumberException
// Interface: TCOM_NotFiniteNumberException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NotFiniteNumberException, _NotFiniteNumberException, &CLSID_NotFiniteNumberException, &IID__NotFiniteNumberException> CoNotFiniteNumberException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NotImplementedException
// Interface: TCOM_NotImplementedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NotImplementedException, _NotImplementedException, &CLSID_NotImplementedException, &IID__NotImplementedException> CoNotImplementedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NotSupportedException
// Interface: TCOM_NotSupportedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NotSupportedException, _NotSupportedException, &CLSID_NotSupportedException, &IID__NotSupportedException> CoNotSupportedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NullReferenceException
// Interface: TCOM_NullReferenceException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NullReferenceException, _NullReferenceException, &CLSID_NullReferenceException, &IID__NullReferenceException> CoNullReferenceException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObjectDisposedException
// Interface: TCOM_ObjectDisposedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObjectDisposedException, _ObjectDisposedException, &CLSID_ObjectDisposedException, &IID__ObjectDisposedException> CoObjectDisposedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObsoleteAttribute
// Interface: TCOM_ObsoleteAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObsoleteAttribute, _ObsoleteAttribute, &CLSID_ObsoleteAttribute, &IID__ObsoleteAttribute> CoObsoleteAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OperatingSystem
// Interface: TCOM_OperatingSystem
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OperatingSystem, _OperatingSystem, &CLSID_OperatingSystem, &IID__OperatingSystem> CoOperatingSystem;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OperationCanceledException
// Interface: TCOM_OperationCanceledException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OperationCanceledException, _OperationCanceledException, &CLSID_OperationCanceledException, &IID__OperationCanceledException> CoOperationCanceledException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OverflowException
// Interface: TCOM_OverflowException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OverflowException, _OverflowException, &CLSID_OverflowException, &IID__OverflowException> CoOverflowException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ParamArrayAttribute
// Interface: TCOM_ParamArrayAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ParamArrayAttribute, _ParamArrayAttribute, &CLSID_ParamArrayAttribute, &IID__ParamArrayAttribute> CoParamArrayAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PlatformNotSupportedException
// Interface: TCOM_PlatformNotSupportedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PlatformNotSupportedException, _PlatformNotSupportedException, &CLSID_PlatformNotSupportedException, &IID__PlatformNotSupportedException> CoPlatformNotSupportedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Random
// Interface: TCOM_Random
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Random, _Random, &CLSID_Random, &IID__Random> CoRandom;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RankException
// Interface: TCOM_RankException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RankException, _RankException, &CLSID_RankException, &IID__RankException> CoRankException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SerializableAttribute
// Interface: TCOM_SerializableAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SerializableAttribute, _SerializableAttribute, &CLSID_SerializableAttribute, &IID__SerializableAttribute> CoSerializableAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TimeoutException
// Interface: TCOM_TimeoutException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TimeoutException, _TimeoutException, &CLSID_TimeoutException, &IID__TimeoutException> CoTimeoutException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeInitializationException
// Interface: TCOM_TypeInitializationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeInitializationException, _TypeInitializationException, &CLSID_TypeInitializationException, &IID__TypeInitializationException> CoTypeInitializationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnauthorizedAccessException
// Interface: TCOM_UnauthorizedAccessException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnauthorizedAccessException, _UnauthorizedAccessException, &CLSID_UnauthorizedAccessException, &IID__UnauthorizedAccessException> CoUnauthorizedAccessException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnhandledExceptionEventArgs
// Interface: TCOM_UnhandledExceptionEventArgs
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnhandledExceptionEventArgs, _UnhandledExceptionEventArgs, &CLSID_UnhandledExceptionEventArgs, &IID__UnhandledExceptionEventArgs> CoUnhandledExceptionEventArgs;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnhandledExceptionEventHandler
// Interface: TCOM_UnhandledExceptionEventHandler
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnhandledExceptionEventHandler, _UnhandledExceptionEventHandler, &CLSID_UnhandledExceptionEventHandler, &IID__UnhandledExceptionEventHandler> CoUnhandledExceptionEventHandler;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Version
// Interface: TCOM_Version
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Version, _Version, &CLSID_Version, &IID__Version> CoVersion;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WeakReference
// Interface: TCOM_WeakReference
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WeakReference, _WeakReference, &CLSID_WeakReference, &IID__WeakReference> CoWeakReference;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WaitHandle
// Interface: TCOM_WaitHandle
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WaitHandle, _WaitHandle, &CLSID_WaitHandle, &IID__WaitHandle> CoWaitHandle;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EventWaitHandle
// Interface: TCOM_EventWaitHandle
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EventWaitHandle, _EventWaitHandle, &CLSID_EventWaitHandle, &IID__EventWaitHandle> CoEventWaitHandle;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AutoResetEvent
// Interface: TCOM_AutoResetEvent
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AutoResetEvent, _AutoResetEvent, &CLSID_AutoResetEvent, &IID__AutoResetEvent> CoAutoResetEvent;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ContextCallback
// Interface: TCOM_ContextCallback
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ContextCallback, _ContextCallback, &CLSID_ContextCallback, &IID__ContextCallback> CoContextCallback;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ManualResetEvent
// Interface: TCOM_ManualResetEvent
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ManualResetEvent, _ManualResetEvent, &CLSID_ManualResetEvent, &IID__ManualResetEvent> CoManualResetEvent;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Monitor
// Interface: TCOM_Monitor
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Monitor, _Monitor, &CLSID_Monitor, &IID__Monitor> CoMonitor;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Mutex
// Interface: TCOM_Mutex
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Mutex, _Mutex, &CLSID_Mutex, &IID__Mutex> CoMutex;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Overlapped
// Interface: TCOM_Overlapped
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Overlapped, _Overlapped, &CLSID_Overlapped, &IID__Overlapped> CoOverlapped;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ReaderWriterLock
// Interface: TCOM_ReaderWriterLock
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ReaderWriterLock, _ReaderWriterLock, &CLSID_ReaderWriterLock, &IID__ReaderWriterLock> CoReaderWriterLock;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SynchronizationLockException
// Interface: TCOM_SynchronizationLockException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SynchronizationLockException, _SynchronizationLockException, &CLSID_SynchronizationLockException, &IID__SynchronizationLockException> CoSynchronizationLockException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ThreadAbortException
// Interface: TCOM_ThreadAbortException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ThreadAbortException, _ThreadAbortException, &CLSID_ThreadAbortException, &IID__ThreadAbortException> CoThreadAbortException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ThreadInterruptedException
// Interface: TCOM_ThreadInterruptedException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ThreadInterruptedException, _ThreadInterruptedException, &CLSID_ThreadInterruptedException, &IID__ThreadInterruptedException> CoThreadInterruptedException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RegisteredWaitHandle
// Interface: TCOM_RegisteredWaitHandle
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RegisteredWaitHandle, _RegisteredWaitHandle, &CLSID_RegisteredWaitHandle, &IID__RegisteredWaitHandle> CoRegisteredWaitHandle;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WaitCallback
// Interface: TCOM_WaitCallback
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WaitCallback, _WaitCallback, &CLSID_WaitCallback, &IID__WaitCallback> CoWaitCallback;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WaitOrTimerCallback
// Interface: TCOM_WaitOrTimerCallback
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WaitOrTimerCallback, _WaitOrTimerCallback, &CLSID_WaitOrTimerCallback, &IID__WaitOrTimerCallback> CoWaitOrTimerCallback;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IOCompletionCallback
// Interface: TCOM_IOCompletionCallback
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IOCompletionCallback, _IOCompletionCallback, &CLSID_IOCompletionCallback, &IID__IOCompletionCallback> CoIOCompletionCallback;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ThreadStart
// Interface: TCOM_ThreadStart
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ThreadStart, _ThreadStart, &CLSID_ThreadStart, &IID__ThreadStart> CoThreadStart;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ThreadStateException
// Interface: TCOM_ThreadStateException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ThreadStateException, _ThreadStateException, &CLSID_ThreadStateException, &IID__ThreadStateException> CoThreadStateException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ThreadStaticAttribute
// Interface: TCOM_ThreadStaticAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ThreadStaticAttribute, _ThreadStaticAttribute, &CLSID_ThreadStaticAttribute, &IID__ThreadStaticAttribute> CoThreadStaticAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Timeout
// Interface: TCOM_Timeout
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Timeout, _Timeout, &CLSID_Timeout, &IID__Timeout> CoTimeout;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TimerCallback
// Interface: TCOM_TimerCallback
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TimerCallback, _TimerCallback, &CLSID_TimerCallback, &IID__TimerCallback> CoTimerCallback;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Timer
// Interface: TCOM_Timer
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Timer, _Timer, &CLSID_Timer, &IID__Timer> CoTimer;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : STAThreadAttribute
// Interface: TCOM_STAThreadAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_STAThreadAttribute, _STAThreadAttribute, &CLSID_STAThreadAttribute, &IID__STAThreadAttribute> CoSTAThreadAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MTAThreadAttribute
// Interface: TCOM_MTAThreadAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MTAThreadAttribute, _MTAThreadAttribute, &CLSID_MTAThreadAttribute, &IID__MTAThreadAttribute> CoMTAThreadAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ArrayList
// Interface: TCOM_ArrayList
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ArrayList, _ArrayList, &CLSID_ArrayList, &IID__ArrayList> CoArrayList;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BitArray
// Interface: TCOM_BitArray
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BitArray, _BitArray, &CLSID_BitArray, &IID__BitArray> CoBitArray;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CaseInsensitiveComparer
// Interface: TCOM_CaseInsensitiveComparer
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CaseInsensitiveComparer, _CaseInsensitiveComparer, &CLSID_CaseInsensitiveComparer, &IID__CaseInsensitiveComparer> CoCaseInsensitiveComparer;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CaseInsensitiveHashCodeProvider
// Interface: TCOM_CaseInsensitiveHashCodeProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CaseInsensitiveHashCodeProvider, _CaseInsensitiveHashCodeProvider, &CLSID_CaseInsensitiveHashCodeProvider, &IID__CaseInsensitiveHashCodeProvider> CoCaseInsensitiveHashCodeProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CollectionBase
// Interface: TCOM_CollectionBase
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CollectionBase, _CollectionBase, &CLSID_CollectionBase, &IID__CollectionBase> CoCollectionBase;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Comparer
// Interface: TCOM_Comparer
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Comparer, _Comparer, &CLSID_Comparer, &IID__Comparer> CoComparer;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DictionaryBase
// Interface: TCOM_DictionaryBase
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DictionaryBase, _DictionaryBase, &CLSID_DictionaryBase, &IID__DictionaryBase> CoDictionaryBase;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Hashtable
// Interface: TCOM_Hashtable
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Hashtable, _Hashtable, &CLSID_Hashtable, &IID__Hashtable> CoHashtable;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Queue
// Interface: TCOM_Queue
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Queue, _Queue, &CLSID_Queue, &IID__Queue> CoQueue;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ReadOnlyCollectionBase
// Interface: TCOM_ReadOnlyCollectionBase
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ReadOnlyCollectionBase, _ReadOnlyCollectionBase, &CLSID_ReadOnlyCollectionBase, &IID__ReadOnlyCollectionBase> CoReadOnlyCollectionBase;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SortedList
// Interface: TCOM_SortedList
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SortedList, _SortedList, &CLSID_SortedList, &IID__SortedList> CoSortedList;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Stack
// Interface: TCOM_Stack
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Stack, _Stack, &CLSID_Stack, &IID__Stack> CoStack;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Nullable
// Interface: TCOM_Nullable
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Nullable, _Nullable, &CLSID_Nullable, &IID__Nullable> CoNullable;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeyNotFoundException
// Interface: TCOM_KeyNotFoundException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeyNotFoundException, _KeyNotFoundException, &CLSID_KeyNotFoundException, &IID__KeyNotFoundException> CoKeyNotFoundException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ConditionalAttribute
// Interface: TCOM_ConditionalAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ConditionalAttribute, _ConditionalAttribute, &CLSID_ConditionalAttribute, &IID__ConditionalAttribute> CoConditionalAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Debugger
// Interface: TCOM_Debugger
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Debugger, _Debugger, &CLSID_Debugger, &IID__Debugger> CoDebugger;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerStepThroughAttribute
// Interface: TCOM_DebuggerStepThroughAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerStepThroughAttribute, _DebuggerStepThroughAttribute, &CLSID_DebuggerStepThroughAttribute, &IID__DebuggerStepThroughAttribute> CoDebuggerStepThroughAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerStepperBoundaryAttribute
// Interface: TCOM_DebuggerStepperBoundaryAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerStepperBoundaryAttribute, _DebuggerStepperBoundaryAttribute, &CLSID_DebuggerStepperBoundaryAttribute, &IID__DebuggerStepperBoundaryAttribute> CoDebuggerStepperBoundaryAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerHiddenAttribute
// Interface: TCOM_DebuggerHiddenAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerHiddenAttribute, _DebuggerHiddenAttribute, &CLSID_DebuggerHiddenAttribute, &IID__DebuggerHiddenAttribute> CoDebuggerHiddenAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerNonUserCodeAttribute
// Interface: TCOM_DebuggerNonUserCodeAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerNonUserCodeAttribute, _DebuggerNonUserCodeAttribute, &CLSID_DebuggerNonUserCodeAttribute, &IID__DebuggerNonUserCodeAttribute> CoDebuggerNonUserCodeAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggableAttribute
// Interface: TCOM_DebuggableAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggableAttribute, _DebuggableAttribute, &CLSID_DebuggableAttribute, &IID__DebuggableAttribute> CoDebuggableAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerBrowsableAttribute
// Interface: TCOM_DebuggerBrowsableAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerBrowsableAttribute, _DebuggerBrowsableAttribute, &CLSID_DebuggerBrowsableAttribute, &IID__DebuggerBrowsableAttribute> CoDebuggerBrowsableAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerTypeProxyAttribute
// Interface: TCOM_DebuggerTypeProxyAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerTypeProxyAttribute, _DebuggerTypeProxyAttribute, &CLSID_DebuggerTypeProxyAttribute, &IID__DebuggerTypeProxyAttribute> CoDebuggerTypeProxyAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerDisplayAttribute
// Interface: TCOM_DebuggerDisplayAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerDisplayAttribute, _DebuggerDisplayAttribute, &CLSID_DebuggerDisplayAttribute, &IID__DebuggerDisplayAttribute> CoDebuggerDisplayAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DebuggerVisualizerAttribute
// Interface: TCOM_DebuggerVisualizerAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DebuggerVisualizerAttribute, _DebuggerVisualizerAttribute, &CLSID_DebuggerVisualizerAttribute, &IID__DebuggerVisualizerAttribute> CoDebuggerVisualizerAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StackTrace
// Interface: TCOM_StackTrace
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StackTrace, _StackTrace, &CLSID_StackTrace, &IID__StackTrace> CoStackTrace;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StackFrame
// Interface: TCOM_StackFrame
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StackFrame, _StackFrame, &CLSID_StackFrame, &IID__StackFrame> CoStackFrame;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SymDocumentType
// Interface: TCOM_SymDocumentType
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SymDocumentType, _SymDocumentType, &CLSID_SymDocumentType, &IID__SymDocumentType> CoSymDocumentType;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SymLanguageType
// Interface: TCOM_SymLanguageType
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SymLanguageType, _SymLanguageType, &CLSID_SymLanguageType, &IID__SymLanguageType> CoSymLanguageType;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SymLanguageVendor
// Interface: TCOM_SymLanguageVendor
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SymLanguageVendor, _SymLanguageVendor, &CLSID_SymLanguageVendor, &IID__SymLanguageVendor> CoSymLanguageVendor;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AmbiguousMatchException
// Interface: TCOM_AmbiguousMatchException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AmbiguousMatchException, _AmbiguousMatchException, &CLSID_AmbiguousMatchException, &IID__AmbiguousMatchException> CoAmbiguousMatchException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ModuleResolveEventHandler
// Interface: TCOM_ModuleResolveEventHandler
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ModuleResolveEventHandler, _ModuleResolveEventHandler, &CLSID_ModuleResolveEventHandler, &IID__ModuleResolveEventHandler> CoModuleResolveEventHandler;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyCopyrightAttribute
// Interface: TCOM_AssemblyCopyrightAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyCopyrightAttribute, _AssemblyCopyrightAttribute, &CLSID_AssemblyCopyrightAttribute, &IID__AssemblyCopyrightAttribute> CoAssemblyCopyrightAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyTrademarkAttribute
// Interface: TCOM_AssemblyTrademarkAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyTrademarkAttribute, _AssemblyTrademarkAttribute, &CLSID_AssemblyTrademarkAttribute, &IID__AssemblyTrademarkAttribute> CoAssemblyTrademarkAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyProductAttribute
// Interface: TCOM_AssemblyProductAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyProductAttribute, _AssemblyProductAttribute, &CLSID_AssemblyProductAttribute, &IID__AssemblyProductAttribute> CoAssemblyProductAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyCompanyAttribute
// Interface: TCOM_AssemblyCompanyAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyCompanyAttribute, _AssemblyCompanyAttribute, &CLSID_AssemblyCompanyAttribute, &IID__AssemblyCompanyAttribute> CoAssemblyCompanyAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyDescriptionAttribute
// Interface: TCOM_AssemblyDescriptionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyDescriptionAttribute, _AssemblyDescriptionAttribute, &CLSID_AssemblyDescriptionAttribute, &IID__AssemblyDescriptionAttribute> CoAssemblyDescriptionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyTitleAttribute
// Interface: TCOM_AssemblyTitleAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyTitleAttribute, _AssemblyTitleAttribute, &CLSID_AssemblyTitleAttribute, &IID__AssemblyTitleAttribute> CoAssemblyTitleAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyConfigurationAttribute
// Interface: TCOM_AssemblyConfigurationAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyConfigurationAttribute, _AssemblyConfigurationAttribute, &CLSID_AssemblyConfigurationAttribute, &IID__AssemblyConfigurationAttribute> CoAssemblyConfigurationAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyDefaultAliasAttribute
// Interface: TCOM_AssemblyDefaultAliasAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyDefaultAliasAttribute, _AssemblyDefaultAliasAttribute, &CLSID_AssemblyDefaultAliasAttribute, &IID__AssemblyDefaultAliasAttribute> CoAssemblyDefaultAliasAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyInformationalVersionAttribute
// Interface: TCOM_AssemblyInformationalVersionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyInformationalVersionAttribute, _AssemblyInformationalVersionAttribute, &CLSID_AssemblyInformationalVersionAttribute, &IID__AssemblyInformationalVersionAttribute> CoAssemblyInformationalVersionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyFileVersionAttribute
// Interface: TCOM_AssemblyFileVersionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyFileVersionAttribute, _AssemblyFileVersionAttribute, &CLSID_AssemblyFileVersionAttribute, &IID__AssemblyFileVersionAttribute> CoAssemblyFileVersionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyCultureAttribute
// Interface: TCOM_AssemblyCultureAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyCultureAttribute, _AssemblyCultureAttribute, &CLSID_AssemblyCultureAttribute, &IID__AssemblyCultureAttribute> CoAssemblyCultureAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyVersionAttribute
// Interface: TCOM_AssemblyVersionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyVersionAttribute, _AssemblyVersionAttribute, &CLSID_AssemblyVersionAttribute, &IID__AssemblyVersionAttribute> CoAssemblyVersionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyKeyFileAttribute
// Interface: TCOM_AssemblyKeyFileAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyKeyFileAttribute, _AssemblyKeyFileAttribute, &CLSID_AssemblyKeyFileAttribute, &IID__AssemblyKeyFileAttribute> CoAssemblyKeyFileAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyDelaySignAttribute
// Interface: TCOM_AssemblyDelaySignAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyDelaySignAttribute, _AssemblyDelaySignAttribute, &CLSID_AssemblyDelaySignAttribute, &IID__AssemblyDelaySignAttribute> CoAssemblyDelaySignAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyAlgorithmIdAttribute
// Interface: TCOM_AssemblyAlgorithmIdAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyAlgorithmIdAttribute, _AssemblyAlgorithmIdAttribute, &CLSID_AssemblyAlgorithmIdAttribute, &IID__AssemblyAlgorithmIdAttribute> CoAssemblyAlgorithmIdAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyFlagsAttribute
// Interface: TCOM_AssemblyFlagsAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyFlagsAttribute, _AssemblyFlagsAttribute, &CLSID_AssemblyFlagsAttribute, &IID__AssemblyFlagsAttribute> CoAssemblyFlagsAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyKeyNameAttribute
// Interface: TCOM_AssemblyKeyNameAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyKeyNameAttribute, _AssemblyKeyNameAttribute, &CLSID_AssemblyKeyNameAttribute, &IID__AssemblyKeyNameAttribute> CoAssemblyKeyNameAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AssemblyNameProxy
// Interface: TCOM_AssemblyNameProxy
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AssemblyNameProxy, _AssemblyNameProxy, &CLSID_AssemblyNameProxy, &IID__AssemblyNameProxy> CoAssemblyNameProxy;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CustomAttributeFormatException
// Interface: TCOM_CustomAttributeFormatException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CustomAttributeFormatException, _CustomAttributeFormatException, &CLSID_CustomAttributeFormatException, &IID__CustomAttributeFormatException> CoCustomAttributeFormatException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CustomAttributeData
// Interface: TCOM_CustomAttributeData
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CustomAttributeData, _CustomAttributeData, &CLSID_CustomAttributeData, &IID__CustomAttributeData> CoCustomAttributeData;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DefaultMemberAttribute
// Interface: TCOM_DefaultMemberAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DefaultMemberAttribute, _DefaultMemberAttribute, &CLSID_DefaultMemberAttribute, &IID__DefaultMemberAttribute> CoDefaultMemberAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InvalidFilterCriteriaException
// Interface: TCOM_InvalidFilterCriteriaException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InvalidFilterCriteriaException, _InvalidFilterCriteriaException, &CLSID_InvalidFilterCriteriaException, &IID__InvalidFilterCriteriaException> CoInvalidFilterCriteriaException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ManifestResourceInfo
// Interface: TCOM_ManifestResourceInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ManifestResourceInfo, _ManifestResourceInfo, &CLSID_ManifestResourceInfo, &IID__ManifestResourceInfo> CoManifestResourceInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MemberFilter
// Interface: TCOM_MemberFilter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MemberFilter, _MemberFilter, &CLSID_MemberFilter, &IID__MemberFilter> CoMemberFilter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Missing
// Interface: TCOM_Missing
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Missing, _Missing, &CLSID_Missing, &IID__Missing> CoMissing;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObfuscateAssemblyAttribute
// Interface: TCOM_ObfuscateAssemblyAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObfuscateAssemblyAttribute, _ObfuscateAssemblyAttribute, &CLSID_ObfuscateAssemblyAttribute, &IID__ObfuscateAssemblyAttribute> CoObfuscateAssemblyAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObfuscationAttribute
// Interface: TCOM_ObfuscationAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObfuscationAttribute, _ObfuscationAttribute, &CLSID_ObfuscationAttribute, &IID__ObfuscationAttribute> CoObfuscationAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ExceptionHandlingClause
// Interface: TCOM_ExceptionHandlingClause
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ExceptionHandlingClause, _ExceptionHandlingClause, &CLSID_ExceptionHandlingClause, &IID__ExceptionHandlingClause> CoExceptionHandlingClause;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodBody
// Interface: TCOM_MethodBody
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodBody, _MethodBody, &CLSID_MethodBody, &IID__MethodBody> CoMethodBody;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : LocalVariableInfo
// Interface: TCOM_LocalVariableInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LocalVariableInfo, _LocalVariableInfo, &CLSID_LocalVariableInfo, &IID__LocalVariableInfo> CoLocalVariableInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Pointer
// Interface: TCOM_Pointer
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Pointer, _Pointer, &CLSID_Pointer, &IID__Pointer> CoPointer;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ReflectionTypeLoadException
// Interface: TCOM_ReflectionTypeLoadException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ReflectionTypeLoadException, _ReflectionTypeLoadException, &CLSID_ReflectionTypeLoadException, &IID__ReflectionTypeLoadException> CoReflectionTypeLoadException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StrongNameKeyPair
// Interface: TCOM_StrongNameKeyPair
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StrongNameKeyPair, _StrongNameKeyPair, &CLSID_StrongNameKeyPair, &IID__StrongNameKeyPair> CoStrongNameKeyPair;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TargetException
// Interface: TCOM_TargetException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TargetException, _TargetException, &CLSID_TargetException, &IID__TargetException> CoTargetException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TargetInvocationException
// Interface: TCOM_TargetInvocationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TargetInvocationException, _TargetInvocationException, &CLSID_TargetInvocationException, &IID__TargetInvocationException> CoTargetInvocationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TargetParameterCountException
// Interface: TCOM_TargetParameterCountException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TargetParameterCountException, _TargetParameterCountException, &CLSID_TargetParameterCountException, &IID__TargetParameterCountException> CoTargetParameterCountException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeDelegator
// Interface: TCOM_TypeDelegator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeDelegator, _TypeDelegator, &CLSID_TypeDelegator, &IID__TypeDelegator> CoTypeDelegator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeFilter
// Interface: TCOM_TypeFilter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeFilter, _TypeFilter, &CLSID_TypeFilter, &IID__TypeFilter> CoTypeFilter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Formatter
// Interface: TCOM_Formatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Formatter, _Formatter, &CLSID_Formatter, &IID__Formatter> CoFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FormatterConverter
// Interface: TCOM_FormatterConverter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FormatterConverter, _FormatterConverter, &CLSID_FormatterConverter, &IID__FormatterConverter> CoFormatterConverter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FormatterServices
// Interface: TCOM_FormatterServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FormatterServices, _FormatterServices, &CLSID_FormatterServices, &IID__FormatterServices> CoFormatterServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObjectIDGenerator
// Interface: TCOM_ObjectIDGenerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObjectIDGenerator, _ObjectIDGenerator, &CLSID_ObjectIDGenerator, &IID__ObjectIDGenerator> CoObjectIDGenerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObjectManager
// Interface: TCOM_ObjectManager
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObjectManager, _ObjectManager, &CLSID_ObjectManager, &IID__ObjectManager> CoObjectManager;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OptionalFieldAttribute
// Interface: TCOM_OptionalFieldAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OptionalFieldAttribute, _OptionalFieldAttribute, &CLSID_OptionalFieldAttribute, &IID__OptionalFieldAttribute> CoOptionalFieldAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OnSerializingAttribute
// Interface: TCOM_OnSerializingAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OnSerializingAttribute, _OnSerializingAttribute, &CLSID_OnSerializingAttribute, &IID__OnSerializingAttribute> CoOnSerializingAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OnSerializedAttribute
// Interface: TCOM_OnSerializedAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OnSerializedAttribute, _OnSerializedAttribute, &CLSID_OnSerializedAttribute, &IID__OnSerializedAttribute> CoOnSerializedAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OnDeserializingAttribute
// Interface: TCOM_OnDeserializingAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OnDeserializingAttribute, _OnDeserializingAttribute, &CLSID_OnDeserializingAttribute, &IID__OnDeserializingAttribute> CoOnDeserializingAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OnDeserializedAttribute
// Interface: TCOM_OnDeserializedAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OnDeserializedAttribute, _OnDeserializedAttribute, &CLSID_OnDeserializedAttribute, &IID__OnDeserializedAttribute> CoOnDeserializedAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SerializationBinder
// Interface: TCOM_SerializationBinder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SerializationBinder, _SerializationBinder, &CLSID_SerializationBinder, &IID__SerializationBinder> CoSerializationBinder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SerializationInfo
// Interface: TCOM_SerializationInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SerializationInfo, _SerializationInfo, &CLSID_SerializationInfo, &IID__SerializationInfo> CoSerializationInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SerializationInfoEnumerator
// Interface: TCOM_SerializationInfoEnumerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SerializationInfoEnumerator, _SerializationInfoEnumerator, &CLSID_SerializationInfoEnumerator, &IID__SerializationInfoEnumerator> CoSerializationInfoEnumerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SerializationException
// Interface: TCOM_SerializationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SerializationException, _SerializationException, &CLSID_SerializationException, &IID__SerializationException> CoSerializationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SurrogateSelector
// Interface: TCOM_SurrogateSelector
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SurrogateSelector, _SurrogateSelector, &CLSID_SurrogateSelector, &IID__SurrogateSelector> CoSurrogateSelector;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Calendar
// Interface: TCOM_Calendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Calendar, _Calendar, &CLSID_Calendar, &IID__Calendar> CoCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EastAsianLunisolarCalendar
// Interface: TCOM_EastAsianLunisolarCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EastAsianLunisolarCalendar, _EastAsianLunisolarCalendar, &CLSID_EastAsianLunisolarCalendar, &IID__EastAsianLunisolarCalendar> CoEastAsianLunisolarCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CompareInfo
// Interface: TCOM_CompareInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CompareInfo, _CompareInfo, &CLSID_CompareInfo, &IID__CompareInfo> CoCompareInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CultureInfo
// Interface: TCOM_CultureInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CultureInfo, _CultureInfo, &CLSID_CultureInfo, &IID__CultureInfo> CoCultureInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DateTimeFormatInfo
// Interface: TCOM_DateTimeFormatInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DateTimeFormatInfo, _DateTimeFormatInfo, &CLSID_DateTimeFormatInfo, &IID__DateTimeFormatInfo> CoDateTimeFormatInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DaylightTime
// Interface: TCOM_DaylightTime
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DaylightTime, _DaylightTime, &CLSID_DaylightTime, &IID__DaylightTime> CoDaylightTime;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GregorianCalendar
// Interface: TCOM_GregorianCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GregorianCalendar, _GregorianCalendar, &CLSID_GregorianCalendar, &IID__GregorianCalendar> CoGregorianCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HebrewCalendar
// Interface: TCOM_HebrewCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HebrewCalendar, _HebrewCalendar, &CLSID_HebrewCalendar, &IID__HebrewCalendar> CoHebrewCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HijriCalendar
// Interface: TCOM_HijriCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HijriCalendar, _HijriCalendar, &CLSID_HijriCalendar, &IID__HijriCalendar> CoHijriCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : JapaneseCalendar
// Interface: TCOM_JapaneseCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_JapaneseCalendar, _JapaneseCalendar, &CLSID_JapaneseCalendar, &IID__JapaneseCalendar> CoJapaneseCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : JulianCalendar
// Interface: TCOM_JulianCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_JulianCalendar, _JulianCalendar, &CLSID_JulianCalendar, &IID__JulianCalendar> CoJulianCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KoreanCalendar
// Interface: TCOM_KoreanCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KoreanCalendar, _KoreanCalendar, &CLSID_KoreanCalendar, &IID__KoreanCalendar> CoKoreanCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RegionInfo
// Interface: TCOM_RegionInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RegionInfo, _RegionInfo, &CLSID_RegionInfo, &IID__RegionInfo> CoRegionInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SortKey
// Interface: TCOM_SortKey
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SortKey, _SortKey, &CLSID_SortKey, &IID__SortKey> CoSortKey;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StringInfo
// Interface: TCOM_StringInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StringInfo, _StringInfo, &CLSID_StringInfo, &IID__StringInfo> CoStringInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TaiwanCalendar
// Interface: TCOM_TaiwanCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TaiwanCalendar, _TaiwanCalendar, &CLSID_TaiwanCalendar, &IID__TaiwanCalendar> CoTaiwanCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TextElementEnumerator
// Interface: TCOM_TextElementEnumerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TextElementEnumerator, _TextElementEnumerator, &CLSID_TextElementEnumerator, &IID__TextElementEnumerator> CoTextElementEnumerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TextInfo
// Interface: TCOM_TextInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TextInfo, _TextInfo, &CLSID_TextInfo, &IID__TextInfo> CoTextInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ThaiBuddhistCalendar
// Interface: TCOM_ThaiBuddhistCalendar
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ThaiBuddhistCalendar, _ThaiBuddhistCalendar, &CLSID_ThaiBuddhistCalendar, &IID__ThaiBuddhistCalendar> CoThaiBuddhistCalendar;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NumberFormatInfo
// Interface: TCOM_NumberFormatInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NumberFormatInfo, _NumberFormatInfo, &CLSID_NumberFormatInfo, &IID__NumberFormatInfo> CoNumberFormatInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Encoding
// Interface: TCOM_Encoding
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Encoding, _Encoding, &CLSID_Encoding, &IID__Encoding> CoEncoding;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Encoder
// Interface: TCOM_Encoder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Encoder, _Encoder, &CLSID_Encoder, &IID__Encoder> CoEncoder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Decoder
// Interface: TCOM_Decoder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Decoder, _Decoder, &CLSID_Decoder, &IID__Decoder> CoDecoder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ASCIIEncoding
// Interface: TCOM_ASCIIEncoding
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ASCIIEncoding, _ASCIIEncoding, &CLSID_ASCIIEncoding, &IID__ASCIIEncoding> CoASCIIEncoding;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnicodeEncoding
// Interface: TCOM_UnicodeEncoding
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnicodeEncoding, _UnicodeEncoding, &CLSID_UnicodeEncoding, &IID__UnicodeEncoding> CoUnicodeEncoding;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UTF7Encoding
// Interface: TCOM_UTF7Encoding
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UTF7Encoding, _UTF7Encoding, &CLSID_UTF7Encoding, &IID__UTF7Encoding> CoUTF7Encoding;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UTF8Encoding
// Interface: TCOM_UTF8Encoding
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UTF8Encoding, _UTF8Encoding, &CLSID_UTF8Encoding, &IID__UTF8Encoding> CoUTF8Encoding;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MissingManifestResourceException
// Interface: TCOM_MissingManifestResourceException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MissingManifestResourceException, _MissingManifestResourceException, &CLSID_MissingManifestResourceException, &IID__MissingManifestResourceException> CoMissingManifestResourceException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MissingSatelliteAssemblyException
// Interface: TCOM_MissingSatelliteAssemblyException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MissingSatelliteAssemblyException, _MissingSatelliteAssemblyException, &CLSID_MissingSatelliteAssemblyException, &IID__MissingSatelliteAssemblyException> CoMissingSatelliteAssemblyException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NeutralResourcesLanguageAttribute
// Interface: TCOM_NeutralResourcesLanguageAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NeutralResourcesLanguageAttribute, _NeutralResourcesLanguageAttribute, &CLSID_NeutralResourcesLanguageAttribute, &IID__NeutralResourcesLanguageAttribute> CoNeutralResourcesLanguageAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ResourceManager
// Interface: TCOM_ResourceManager
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ResourceManager, _ResourceManager, &CLSID_ResourceManager, &IID__ResourceManager> CoResourceManager;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ResourceReader
// Interface: TCOM_ResourceReader
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ResourceReader, _ResourceReader, &CLSID_ResourceReader, &IID__ResourceReader> CoResourceReader;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ResourceSet
// Interface: TCOM_ResourceSet
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ResourceSet, _ResourceSet, &CLSID_ResourceSet, &IID__ResourceSet> CoResourceSet;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ResourceWriter
// Interface: TCOM_ResourceWriter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ResourceWriter, _ResourceWriter, &CLSID_ResourceWriter, &IID__ResourceWriter> CoResourceWriter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SatelliteContractVersionAttribute
// Interface: TCOM_SatelliteContractVersionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SatelliteContractVersionAttribute, _SatelliteContractVersionAttribute, &CLSID_SatelliteContractVersionAttribute, &IID__SatelliteContractVersionAttribute> CoSatelliteContractVersionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Registry
// Interface: TCOM_Registry
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Registry, _Registry, &CLSID_Registry, &IID__Registry> CoRegistry;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RegistryKey
// Interface: TCOM_RegistryKey
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RegistryKey, _RegistryKey, &CLSID_RegistryKey, &IID__RegistryKey> CoRegistryKey;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AllMembershipCondition
// Interface: TCOM_AllMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AllMembershipCondition, _AllMembershipCondition, &CLSID_AllMembershipCondition, &IID__AllMembershipCondition> CoAllMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationDirectory
// Interface: TCOM_ApplicationDirectory
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationDirectory, _ApplicationDirectory, &CLSID_ApplicationDirectory, &IID__ApplicationDirectory> CoApplicationDirectory;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationDirectoryMembershipCondition
// Interface: TCOM_ApplicationDirectoryMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationDirectoryMembershipCondition, _ApplicationDirectoryMembershipCondition, &CLSID_ApplicationDirectoryMembershipCondition, &IID__ApplicationDirectoryMembershipCondition> CoApplicationDirectoryMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationSecurityInfo
// Interface: TCOM_ApplicationSecurityInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationSecurityInfo, _ApplicationSecurityInfo, &CLSID_ApplicationSecurityInfo, &IID__ApplicationSecurityInfo> CoApplicationSecurityInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationSecurityManager
// Interface: TCOM_ApplicationSecurityManager
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationSecurityManager, _ApplicationSecurityManager, &CLSID_ApplicationSecurityManager, &IID__ApplicationSecurityManager> CoApplicationSecurityManager;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationTrust
// Interface: TCOM_ApplicationTrust
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationTrust, _ApplicationTrust, &CLSID_ApplicationTrust, &IID__ApplicationTrust> CoApplicationTrust;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationTrustCollection
// Interface: TCOM_ApplicationTrustCollection
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationTrustCollection, _ApplicationTrustCollection, &CLSID_ApplicationTrustCollection, &IID__ApplicationTrustCollection> CoApplicationTrustCollection;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ApplicationTrustEnumerator
// Interface: TCOM_ApplicationTrustEnumerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ApplicationTrustEnumerator, _ApplicationTrustEnumerator, &CLSID_ApplicationTrustEnumerator, &IID__ApplicationTrustEnumerator> CoApplicationTrustEnumerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CodeGroup
// Interface: TCOM_CodeGroup
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CodeGroup, _CodeGroup, &CLSID_CodeGroup, &IID__CodeGroup> CoCodeGroup;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Evidence
// Interface: TCOM_Evidence
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Evidence, _Evidence, &CLSID_Evidence, &IID__Evidence> CoEvidence;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileCodeGroup
// Interface: TCOM_FileCodeGroup
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileCodeGroup, _FileCodeGroup, &CLSID_FileCodeGroup, &IID__FileCodeGroup> CoFileCodeGroup;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FirstMatchCodeGroup
// Interface: TCOM_FirstMatchCodeGroup
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FirstMatchCodeGroup, _FirstMatchCodeGroup, &CLSID_FirstMatchCodeGroup, &IID__FirstMatchCodeGroup> CoFirstMatchCodeGroup;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TrustManagerContext
// Interface: TCOM_TrustManagerContext
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TrustManagerContext, _TrustManagerContext, &CLSID_TrustManagerContext, &IID__TrustManagerContext> CoTrustManagerContext;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CodeConnectAccess
// Interface: TCOM_CodeConnectAccess
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CodeConnectAccess, _CodeConnectAccess, &CLSID_CodeConnectAccess, &IID__CodeConnectAccess> CoCodeConnectAccess;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NetCodeGroup
// Interface: TCOM_NetCodeGroup
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NetCodeGroup, _NetCodeGroup, &CLSID_NetCodeGroup, &IID__NetCodeGroup> CoNetCodeGroup;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PermissionRequestEvidence
// Interface: TCOM_PermissionRequestEvidence
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PermissionRequestEvidence, _PermissionRequestEvidence, &CLSID_PermissionRequestEvidence, &IID__PermissionRequestEvidence> CoPermissionRequestEvidence;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PolicyException
// Interface: TCOM_PolicyException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PolicyException, _PolicyException, &CLSID_PolicyException, &IID__PolicyException> CoPolicyException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PolicyLevel
// Interface: TCOM_PolicyLevel
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PolicyLevel, _PolicyLevel, &CLSID_PolicyLevel, &IID__PolicyLevel> CoPolicyLevel;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PolicyStatement
// Interface: TCOM_PolicyStatement
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PolicyStatement, _PolicyStatement, &CLSID_PolicyStatement, &IID__PolicyStatement> CoPolicyStatement;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Site
// Interface: TCOM_Site
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Site, _Site, &CLSID_Site, &IID__Site> CoSite;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SiteMembershipCondition
// Interface: TCOM_SiteMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SiteMembershipCondition, _SiteMembershipCondition, &CLSID_SiteMembershipCondition, &IID__SiteMembershipCondition> CoSiteMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StrongName
// Interface: TCOM_StrongName
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StrongName, _StrongName, &CLSID_StrongName, &IID__StrongName> CoStrongName;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StrongNameMembershipCondition
// Interface: TCOM_StrongNameMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StrongNameMembershipCondition, _StrongNameMembershipCondition, &CLSID_StrongNameMembershipCondition, &IID__StrongNameMembershipCondition> CoStrongNameMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnionCodeGroup
// Interface: TCOM_UnionCodeGroup
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnionCodeGroup, _UnionCodeGroup, &CLSID_UnionCodeGroup, &IID__UnionCodeGroup> CoUnionCodeGroup;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Url
// Interface: TCOM_Url
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Url, _Url, &CLSID_Url, &IID__Url> CoUrl;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UrlMembershipCondition
// Interface: TCOM_UrlMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UrlMembershipCondition, _UrlMembershipCondition, &CLSID_UrlMembershipCondition, &IID__UrlMembershipCondition> CoUrlMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Zone
// Interface: TCOM_Zone
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Zone, _Zone, &CLSID_Zone, &IID__Zone> CoZone;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ZoneMembershipCondition
// Interface: TCOM_ZoneMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ZoneMembershipCondition, _ZoneMembershipCondition, &CLSID_ZoneMembershipCondition, &IID__ZoneMembershipCondition> CoZoneMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GacInstalled
// Interface: TCOM_GacInstalled
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GacInstalled, _GacInstalled, &CLSID_GacInstalled, &IID__GacInstalled> CoGacInstalled;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GacMembershipCondition
// Interface: TCOM_GacMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GacMembershipCondition, _GacMembershipCondition, &CLSID_GacMembershipCondition, &IID__GacMembershipCondition> CoGacMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Hash
// Interface: TCOM_Hash
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Hash, _Hash, &CLSID_Hash, &IID__Hash> CoHash;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HashMembershipCondition
// Interface: TCOM_HashMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HashMembershipCondition, _HashMembershipCondition, &CLSID_HashMembershipCondition, &IID__HashMembershipCondition> CoHashMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Publisher
// Interface: TCOM_Publisher
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Publisher, _Publisher, &CLSID_Publisher, &IID__Publisher> CoPublisher;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PublisherMembershipCondition
// Interface: TCOM_PublisherMembershipCondition
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PublisherMembershipCondition, _PublisherMembershipCondition, &CLSID_PublisherMembershipCondition, &IID__PublisherMembershipCondition> CoPublisherMembershipCondition;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GenericIdentity
// Interface: TCOM_GenericIdentity
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GenericIdentity, _GenericIdentity, &CLSID_GenericIdentity, &IID__GenericIdentity> CoGenericIdentity;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GenericPrincipal
// Interface: TCOM_GenericPrincipal
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GenericPrincipal, _GenericPrincipal, &CLSID_GenericPrincipal, &IID__GenericPrincipal> CoGenericPrincipal;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WindowsIdentity
// Interface: TCOM_WindowsIdentity
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WindowsIdentity, _WindowsIdentity, &CLSID_WindowsIdentity, &IID__WindowsIdentity> CoWindowsIdentity;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WindowsImpersonationContext
// Interface: TCOM_WindowsImpersonationContext
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WindowsImpersonationContext, _WindowsImpersonationContext, &CLSID_WindowsImpersonationContext, &IID__WindowsImpersonationContext> CoWindowsImpersonationContext;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WindowsPrincipal
// Interface: TCOM_WindowsPrincipal
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WindowsPrincipal, _WindowsPrincipal, &CLSID_WindowsPrincipal, &IID__WindowsPrincipal> CoWindowsPrincipal;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnmanagedFunctionPointerAttribute
// Interface: TCOM_UnmanagedFunctionPointerAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnmanagedFunctionPointerAttribute, _UnmanagedFunctionPointerAttribute, &CLSID_UnmanagedFunctionPointerAttribute, &IID__UnmanagedFunctionPointerAttribute> CoUnmanagedFunctionPointerAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DispIdAttribute
// Interface: TCOM_DispIdAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DispIdAttribute, _DispIdAttribute, &CLSID_DispIdAttribute, &IID__DispIdAttribute> CoDispIdAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InterfaceTypeAttribute
// Interface: TCOM_InterfaceTypeAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InterfaceTypeAttribute, _InterfaceTypeAttribute, &CLSID_InterfaceTypeAttribute, &IID__InterfaceTypeAttribute> CoInterfaceTypeAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComDefaultInterfaceAttribute
// Interface: TCOM_ComDefaultInterfaceAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComDefaultInterfaceAttribute, _ComDefaultInterfaceAttribute, &CLSID_ComDefaultInterfaceAttribute, &IID__ComDefaultInterfaceAttribute> CoComDefaultInterfaceAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ClassInterfaceAttribute
// Interface: TCOM_ClassInterfaceAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ClassInterfaceAttribute, _ClassInterfaceAttribute, &CLSID_ClassInterfaceAttribute, &IID__ClassInterfaceAttribute> CoClassInterfaceAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComVisibleAttribute
// Interface: TCOM_ComVisibleAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComVisibleAttribute, _ComVisibleAttribute, &CLSID_ComVisibleAttribute, &IID__ComVisibleAttribute> CoComVisibleAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeLibImportClassAttribute
// Interface: TCOM_TypeLibImportClassAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeLibImportClassAttribute, _TypeLibImportClassAttribute, &CLSID_TypeLibImportClassAttribute, &IID__TypeLibImportClassAttribute> CoTypeLibImportClassAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : LCIDConversionAttribute
// Interface: TCOM_LCIDConversionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LCIDConversionAttribute, _LCIDConversionAttribute, &CLSID_LCIDConversionAttribute, &IID__LCIDConversionAttribute> CoLCIDConversionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComRegisterFunctionAttribute
// Interface: TCOM_ComRegisterFunctionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComRegisterFunctionAttribute, _ComRegisterFunctionAttribute, &CLSID_ComRegisterFunctionAttribute, &IID__ComRegisterFunctionAttribute> CoComRegisterFunctionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComUnregisterFunctionAttribute
// Interface: TCOM_ComUnregisterFunctionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComUnregisterFunctionAttribute, _ComUnregisterFunctionAttribute, &CLSID_ComUnregisterFunctionAttribute, &IID__ComUnregisterFunctionAttribute> CoComUnregisterFunctionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ProgIdAttribute
// Interface: TCOM_ProgIdAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ProgIdAttribute, _ProgIdAttribute, &CLSID_ProgIdAttribute, &IID__ProgIdAttribute> CoProgIdAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ImportedFromTypeLibAttribute
// Interface: TCOM_ImportedFromTypeLibAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ImportedFromTypeLibAttribute, _ImportedFromTypeLibAttribute, &CLSID_ImportedFromTypeLibAttribute, &IID__ImportedFromTypeLibAttribute> CoImportedFromTypeLibAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IDispatchImplAttribute
// Interface: TCOM_IDispatchImplAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IDispatchImplAttribute, _IDispatchImplAttribute, &CLSID_IDispatchImplAttribute, &IID__IDispatchImplAttribute> CoIDispatchImplAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComSourceInterfacesAttribute
// Interface: TCOM_ComSourceInterfacesAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComSourceInterfacesAttribute, _ComSourceInterfacesAttribute, &CLSID_ComSourceInterfacesAttribute, &IID__ComSourceInterfacesAttribute> CoComSourceInterfacesAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComConversionLossAttribute
// Interface: TCOM_ComConversionLossAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComConversionLossAttribute, _ComConversionLossAttribute, &CLSID_ComConversionLossAttribute, &IID__ComConversionLossAttribute> CoComConversionLossAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeLibTypeAttribute
// Interface: TCOM_TypeLibTypeAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeLibTypeAttribute, _TypeLibTypeAttribute, &CLSID_TypeLibTypeAttribute, &IID__TypeLibTypeAttribute> CoTypeLibTypeAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeLibFuncAttribute
// Interface: TCOM_TypeLibFuncAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeLibFuncAttribute, _TypeLibFuncAttribute, &CLSID_TypeLibFuncAttribute, &IID__TypeLibFuncAttribute> CoTypeLibFuncAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeLibVarAttribute
// Interface: TCOM_TypeLibVarAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeLibVarAttribute, _TypeLibVarAttribute, &CLSID_TypeLibVarAttribute, &IID__TypeLibVarAttribute> CoTypeLibVarAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MarshalAsAttribute
// Interface: TCOM_MarshalAsAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MarshalAsAttribute, _MarshalAsAttribute, &CLSID_MarshalAsAttribute, &IID__MarshalAsAttribute> CoMarshalAsAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComImportAttribute
// Interface: TCOM_ComImportAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComImportAttribute, _ComImportAttribute, &CLSID_ComImportAttribute, &IID__ComImportAttribute> CoComImportAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GuidAttribute
// Interface: TCOM_GuidAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GuidAttribute, _GuidAttribute, &CLSID_GuidAttribute, &IID__GuidAttribute> CoGuidAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PreserveSigAttribute
// Interface: TCOM_PreserveSigAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PreserveSigAttribute, _PreserveSigAttribute, &CLSID_PreserveSigAttribute, &IID__PreserveSigAttribute> CoPreserveSigAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InAttribute
// Interface: TCOM_InAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InAttribute, _InAttribute, &CLSID_InAttribute, &IID__InAttribute> CoInAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OutAttribute
// Interface: TCOM_OutAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OutAttribute, _OutAttribute, &CLSID_OutAttribute, &IID__OutAttribute> CoOutAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OptionalAttribute
// Interface: TCOM_OptionalAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OptionalAttribute, _OptionalAttribute, &CLSID_OptionalAttribute, &IID__OptionalAttribute> CoOptionalAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DllImportAttribute
// Interface: TCOM_DllImportAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DllImportAttribute, _DllImportAttribute, &CLSID_DllImportAttribute, &IID__DllImportAttribute> CoDllImportAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StructLayoutAttribute
// Interface: TCOM_StructLayoutAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StructLayoutAttribute, _StructLayoutAttribute, &CLSID_StructLayoutAttribute, &IID__StructLayoutAttribute> CoStructLayoutAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FieldOffsetAttribute
// Interface: TCOM_FieldOffsetAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FieldOffsetAttribute, _FieldOffsetAttribute, &CLSID_FieldOffsetAttribute, &IID__FieldOffsetAttribute> CoFieldOffsetAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComAliasNameAttribute
// Interface: TCOM_ComAliasNameAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComAliasNameAttribute, _ComAliasNameAttribute, &CLSID_ComAliasNameAttribute, &IID__ComAliasNameAttribute> CoComAliasNameAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AutomationProxyAttribute
// Interface: TCOM_AutomationProxyAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AutomationProxyAttribute, _AutomationProxyAttribute, &CLSID_AutomationProxyAttribute, &IID__AutomationProxyAttribute> CoAutomationProxyAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PrimaryInteropAssemblyAttribute
// Interface: TCOM_PrimaryInteropAssemblyAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PrimaryInteropAssemblyAttribute, _PrimaryInteropAssemblyAttribute, &CLSID_PrimaryInteropAssemblyAttribute, &IID__PrimaryInteropAssemblyAttribute> CoPrimaryInteropAssemblyAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CoClassAttribute
// Interface: TCOM_CoClassAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CoClassAttribute, _CoClassAttribute, &CLSID_CoClassAttribute, &IID__CoClassAttribute> CoCoClassAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComEventInterfaceAttribute
// Interface: TCOM_ComEventInterfaceAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComEventInterfaceAttribute, _ComEventInterfaceAttribute, &CLSID_ComEventInterfaceAttribute, &IID__ComEventInterfaceAttribute> CoComEventInterfaceAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeLibVersionAttribute
// Interface: TCOM_TypeLibVersionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeLibVersionAttribute, _TypeLibVersionAttribute, &CLSID_TypeLibVersionAttribute, &IID__TypeLibVersionAttribute> CoTypeLibVersionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ComCompatibleVersionAttribute
// Interface: TCOM_ComCompatibleVersionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ComCompatibleVersionAttribute, _ComCompatibleVersionAttribute, &CLSID_ComCompatibleVersionAttribute, &IID__ComCompatibleVersionAttribute> CoComCompatibleVersionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BestFitMappingAttribute
// Interface: TCOM_BestFitMappingAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BestFitMappingAttribute, _BestFitMappingAttribute, &CLSID_BestFitMappingAttribute, &IID__BestFitMappingAttribute> CoBestFitMappingAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DefaultCharSetAttribute
// Interface: TCOM_DefaultCharSetAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DefaultCharSetAttribute, _DefaultCharSetAttribute, &CLSID_DefaultCharSetAttribute, &IID__DefaultCharSetAttribute> CoDefaultCharSetAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SetWin32ContextInIDispatchAttribute
// Interface: TCOM_SetWin32ContextInIDispatchAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SetWin32ContextInIDispatchAttribute, _SetWin32ContextInIDispatchAttribute, &CLSID_SetWin32ContextInIDispatchAttribute, &IID__SetWin32ContextInIDispatchAttribute> CoSetWin32ContextInIDispatchAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ExternalException
// Interface: TCOM_ExternalException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ExternalException, _ExternalException, &CLSID_ExternalException, &IID__ExternalException> CoExternalException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : COMException
// Interface: TCOM_COMException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_COMException, _COMException, &CLSID_COMException, &IID__COMException> CoCOMException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InvalidOleVariantTypeException
// Interface: TCOM_InvalidOleVariantTypeException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InvalidOleVariantTypeException, _InvalidOleVariantTypeException, &CLSID_InvalidOleVariantTypeException, &IID__InvalidOleVariantTypeException> CoInvalidOleVariantTypeException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MarshalDirectiveException
// Interface: TCOM_MarshalDirectiveException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MarshalDirectiveException, _MarshalDirectiveException, &CLSID_MarshalDirectiveException, &IID__MarshalDirectiveException> CoMarshalDirectiveException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RuntimeEnvironment
// Interface: TCOM_RuntimeEnvironment
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RuntimeEnvironment, _RuntimeEnvironment, &CLSID_RuntimeEnvironment, &IID__RuntimeEnvironment> CoRuntimeEnvironment;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SEHException
// Interface: TCOM_SEHException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SEHException, _SEHException, &CLSID_SEHException, &IID__SEHException> CoSEHException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BStrWrapper
// Interface: TCOM_BStrWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BStrWrapper, _BStrWrapper, &CLSID_BStrWrapper, &IID__BStrWrapper> CoBStrWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CurrencyWrapper
// Interface: TCOM_CurrencyWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CurrencyWrapper, _CurrencyWrapper, &CLSID_CurrencyWrapper, &IID__CurrencyWrapper> CoCurrencyWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DispatchWrapper
// Interface: TCOM_DispatchWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DispatchWrapper, _DispatchWrapper, &CLSID_DispatchWrapper, &IID__DispatchWrapper> CoDispatchWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ErrorWrapper
// Interface: TCOM_ErrorWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ErrorWrapper, _ErrorWrapper, &CLSID_ErrorWrapper, &IID__ErrorWrapper> CoErrorWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ExtensibleClassFactory
// Interface: TCOM_ExtensibleClassFactory
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ExtensibleClassFactory, _ExtensibleClassFactory, &CLSID_ExtensibleClassFactory, &IID__ExtensibleClassFactory> CoExtensibleClassFactory;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InvalidComObjectException
// Interface: TCOM_InvalidComObjectException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InvalidComObjectException, _InvalidComObjectException, &CLSID_InvalidComObjectException, &IID__InvalidComObjectException> CoInvalidComObjectException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObjectCreationDelegate
// Interface: TCOM_ObjectCreationDelegate
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObjectCreationDelegate, _ObjectCreationDelegate, &CLSID_ObjectCreationDelegate, &IID__ObjectCreationDelegate> CoObjectCreationDelegate;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SafeArrayRankMismatchException
// Interface: TCOM_SafeArrayRankMismatchException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SafeArrayRankMismatchException, _SafeArrayRankMismatchException, &CLSID_SafeArrayRankMismatchException, &IID__SafeArrayRankMismatchException> CoSafeArrayRankMismatchException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SafeArrayTypeMismatchException
// Interface: TCOM_SafeArrayTypeMismatchException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SafeArrayTypeMismatchException, _SafeArrayTypeMismatchException, &CLSID_SafeArrayTypeMismatchException, &IID__SafeArrayTypeMismatchException> CoSafeArrayTypeMismatchException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnknownWrapper
// Interface: TCOM_UnknownWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnknownWrapper, _UnknownWrapper, &CLSID_UnknownWrapper, &IID__UnknownWrapper> CoUnknownWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Stream
// Interface: TCOM_Stream
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Stream, _Stream, &CLSID_Stream, &IID__Stream> CoStream;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BinaryReader
// Interface: TCOM_BinaryReader
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BinaryReader, _BinaryReader, &CLSID_BinaryReader, &IID__BinaryReader> CoBinaryReader;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BinaryWriter
// Interface: TCOM_BinaryWriter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BinaryWriter, _BinaryWriter, &CLSID_BinaryWriter, &IID__BinaryWriter> CoBinaryWriter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BufferedStream
// Interface: TCOM_BufferedStream
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BufferedStream, _BufferedStream, &CLSID_BufferedStream, &IID__BufferedStream> CoBufferedStream;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Directory
// Interface: TCOM_Directory
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Directory, _Directory, &CLSID_Directory, &IID__Directory> CoDirectory;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileSystemInfo
// Interface: TCOM_FileSystemInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileSystemInfo, _FileSystemInfo, &CLSID_FileSystemInfo, &IID__FileSystemInfo> CoFileSystemInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DirectoryInfo
// Interface: TCOM_DirectoryInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DirectoryInfo, _DirectoryInfo, &CLSID_DirectoryInfo, &IID__DirectoryInfo> CoDirectoryInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IOException
// Interface: TCOM_IOException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IOException, _IOException, &CLSID_IOException, &IID__IOException> CoIOException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DirectoryNotFoundException
// Interface: TCOM_DirectoryNotFoundException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DirectoryNotFoundException, _DirectoryNotFoundException, &CLSID_DirectoryNotFoundException, &IID__DirectoryNotFoundException> CoDirectoryNotFoundException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DriveInfo
// Interface: TCOM_DriveInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DriveInfo, _DriveInfo, &CLSID_DriveInfo, &IID__DriveInfo> CoDriveInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DriveNotFoundException
// Interface: TCOM_DriveNotFoundException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DriveNotFoundException, _DriveNotFoundException, &CLSID_DriveNotFoundException, &IID__DriveNotFoundException> CoDriveNotFoundException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EndOfStreamException
// Interface: TCOM_EndOfStreamException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EndOfStreamException, _EndOfStreamException, &CLSID_EndOfStreamException, &IID__EndOfStreamException> CoEndOfStreamException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : File
// Interface: TCOM_File
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_File, _File, &CLSID_File, &IID__File> CoFile;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileInfo
// Interface: TCOM_FileInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileInfo, _FileInfo, &CLSID_FileInfo, &IID__FileInfo> CoFileInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileLoadException
// Interface: TCOM_FileLoadException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileLoadException, _FileLoadException, &CLSID_FileLoadException, &IID__FileLoadException> CoFileLoadException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileNotFoundException
// Interface: TCOM_FileNotFoundException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileNotFoundException, _FileNotFoundException, &CLSID_FileNotFoundException, &IID__FileNotFoundException> CoFileNotFoundException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileStream
// Interface: TCOM_FileStream
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileStream, _FileStream, &CLSID_FileStream, &IID__FileStream> CoFileStream;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MemoryStream
// Interface: TCOM_MemoryStream
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MemoryStream, _MemoryStream, &CLSID_MemoryStream, &IID__MemoryStream> CoMemoryStream;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Path
// Interface: TCOM_Path
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Path, _Path, &CLSID_Path, &IID__Path> CoPath;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PathTooLongException
// Interface: TCOM_PathTooLongException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PathTooLongException, _PathTooLongException, &CLSID_PathTooLongException, &IID__PathTooLongException> CoPathTooLongException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TextReader
// Interface: TCOM_TextReader
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TextReader, _TextReader, &CLSID_TextReader, &IID__TextReader> CoTextReader;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StreamReader
// Interface: TCOM_StreamReader
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StreamReader, _StreamReader, &CLSID_StreamReader, &IID__StreamReader> CoStreamReader;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TextWriter
// Interface: TCOM_TextWriter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TextWriter, _TextWriter, &CLSID_TextWriter, &IID__TextWriter> CoTextWriter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StreamWriter
// Interface: TCOM_StreamWriter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StreamWriter, _StreamWriter, &CLSID_StreamWriter, &IID__StreamWriter> CoStreamWriter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StringReader
// Interface: TCOM_StringReader
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StringReader, _StringReader, &CLSID_StringReader, &IID__StringReader> CoStringReader;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StringWriter
// Interface: TCOM_StringWriter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StringWriter, _StringWriter, &CLSID_StringWriter, &IID__StringWriter> CoStringWriter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AccessedThroughPropertyAttribute
// Interface: TCOM_AccessedThroughPropertyAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AccessedThroughPropertyAttribute, _AccessedThroughPropertyAttribute, &CLSID_AccessedThroughPropertyAttribute, &IID__AccessedThroughPropertyAttribute> CoAccessedThroughPropertyAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CallConvCdecl
// Interface: TCOM_CallConvCdecl
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CallConvCdecl, _CallConvCdecl, &CLSID_CallConvCdecl, &IID__CallConvCdecl> CoCallConvCdecl;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CallConvStdcall
// Interface: TCOM_CallConvStdcall
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CallConvStdcall, _CallConvStdcall, &CLSID_CallConvStdcall, &IID__CallConvStdcall> CoCallConvStdcall;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CallConvThiscall
// Interface: TCOM_CallConvThiscall
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CallConvThiscall, _CallConvThiscall, &CLSID_CallConvThiscall, &IID__CallConvThiscall> CoCallConvThiscall;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CallConvFastcall
// Interface: TCOM_CallConvFastcall
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CallConvFastcall, _CallConvFastcall, &CLSID_CallConvFastcall, &IID__CallConvFastcall> CoCallConvFastcall;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CustomConstantAttribute
// Interface: TCOM_CustomConstantAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CustomConstantAttribute, _CustomConstantAttribute, &CLSID_CustomConstantAttribute, &IID__CustomConstantAttribute> CoCustomConstantAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DateTimeConstantAttribute
// Interface: TCOM_DateTimeConstantAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DateTimeConstantAttribute, _DateTimeConstantAttribute, &CLSID_DateTimeConstantAttribute, &IID__DateTimeConstantAttribute> CoDateTimeConstantAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DiscardableAttribute
// Interface: TCOM_DiscardableAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DiscardableAttribute, _DiscardableAttribute, &CLSID_DiscardableAttribute, &IID__DiscardableAttribute> CoDiscardableAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DecimalConstantAttribute
// Interface: TCOM_DecimalConstantAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DecimalConstantAttribute, _DecimalConstantAttribute, &CLSID_DecimalConstantAttribute, &IID__DecimalConstantAttribute> CoDecimalConstantAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CompilationRelaxationsAttribute
// Interface: TCOM_CompilationRelaxationsAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CompilationRelaxationsAttribute, _CompilationRelaxationsAttribute, &CLSID_CompilationRelaxationsAttribute, &IID__CompilationRelaxationsAttribute> CoCompilationRelaxationsAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CompilerGlobalScopeAttribute
// Interface: TCOM_CompilerGlobalScopeAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CompilerGlobalScopeAttribute, _CompilerGlobalScopeAttribute, &CLSID_CompilerGlobalScopeAttribute, &IID__CompilerGlobalScopeAttribute> CoCompilerGlobalScopeAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IndexerNameAttribute
// Interface: TCOM_IndexerNameAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IndexerNameAttribute, _IndexerNameAttribute, &CLSID_IndexerNameAttribute, &IID__IndexerNameAttribute> CoIndexerNameAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsVolatile
// Interface: TCOM_IsVolatile
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsVolatile, _IsVolatile, &CLSID_IsVolatile, &IID__IsVolatile> CoIsVolatile;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodImplAttribute
// Interface: TCOM_MethodImplAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodImplAttribute, _MethodImplAttribute, &CLSID_MethodImplAttribute, &IID__MethodImplAttribute> CoMethodImplAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RequiredAttributeAttribute
// Interface: TCOM_RequiredAttributeAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RequiredAttributeAttribute, _RequiredAttributeAttribute, &CLSID_RequiredAttributeAttribute, &IID__RequiredAttributeAttribute> CoRequiredAttributeAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsCopyConstructed
// Interface: TCOM_IsCopyConstructed
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsCopyConstructed, _IsCopyConstructed, &CLSID_IsCopyConstructed, &IID__IsCopyConstructed> CoIsCopyConstructed;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NativeCppClassAttribute
// Interface: TCOM_NativeCppClassAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NativeCppClassAttribute, _NativeCppClassAttribute, &CLSID_NativeCppClassAttribute, &IID__NativeCppClassAttribute> CoNativeCppClassAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IDispatchConstantAttribute
// Interface: TCOM_IDispatchConstantAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IDispatchConstantAttribute, _IDispatchConstantAttribute, &CLSID_IDispatchConstantAttribute, &IID__IDispatchConstantAttribute> CoIDispatchConstantAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IUnknownConstantAttribute
// Interface: TCOM_IUnknownConstantAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IUnknownConstantAttribute, _IUnknownConstantAttribute, &CLSID_IUnknownConstantAttribute, &IID__IUnknownConstantAttribute> CoIUnknownConstantAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SecurityElement
// Interface: TCOM_SecurityElement
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SecurityElement, _SecurityElement, &CLSID_SecurityElement, &IID__SecurityElement> CoSecurityElement;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : XmlSyntaxException
// Interface: TCOM_XmlSyntaxException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_XmlSyntaxException, _XmlSyntaxException, &CLSID_XmlSyntaxException, &IID__XmlSyntaxException> CoXmlSyntaxException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CodeAccessPermission
// Interface: TCOM_CodeAccessPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CodeAccessPermission, _CodeAccessPermission, &CLSID_CodeAccessPermission, &IID__CodeAccessPermission> CoCodeAccessPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EnvironmentPermission
// Interface: TCOM_EnvironmentPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EnvironmentPermission, _EnvironmentPermission, &CLSID_EnvironmentPermission, &IID__EnvironmentPermission> CoEnvironmentPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileDialogPermission
// Interface: TCOM_FileDialogPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileDialogPermission, _FileDialogPermission, &CLSID_FileDialogPermission, &IID__FileDialogPermission> CoFileDialogPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileIOPermission
// Interface: TCOM_FileIOPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileIOPermission, _FileIOPermission, &CLSID_FileIOPermission, &IID__FileIOPermission> CoFileIOPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SecurityAttribute
// Interface: TCOM_SecurityAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SecurityAttribute, _SecurityAttribute, &CLSID_SecurityAttribute, &IID__SecurityAttribute> CoSecurityAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CodeAccessSecurityAttribute
// Interface: TCOM_CodeAccessSecurityAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CodeAccessSecurityAttribute, _CodeAccessSecurityAttribute, &CLSID_CodeAccessSecurityAttribute, &IID__CodeAccessSecurityAttribute> CoCodeAccessSecurityAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HostProtectionAttribute
// Interface: TCOM_HostProtectionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HostProtectionAttribute, _HostProtectionAttribute, &CLSID_HostProtectionAttribute, &IID__HostProtectionAttribute> CoHostProtectionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStoragePermission
// Interface: TCOM_IsolatedStoragePermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStoragePermission, _IsolatedStoragePermission, &CLSID_IsolatedStoragePermission, &IID__IsolatedStoragePermission> CoIsolatedStoragePermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStorageFilePermission
// Interface: TCOM_IsolatedStorageFilePermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStorageFilePermission, _IsolatedStorageFilePermission, &CLSID_IsolatedStorageFilePermission, &IID__IsolatedStorageFilePermission> CoIsolatedStorageFilePermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EnvironmentPermissionAttribute
// Interface: TCOM_EnvironmentPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EnvironmentPermissionAttribute, _EnvironmentPermissionAttribute, &CLSID_EnvironmentPermissionAttribute, &IID__EnvironmentPermissionAttribute> CoEnvironmentPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileDialogPermissionAttribute
// Interface: TCOM_FileDialogPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileDialogPermissionAttribute, _FileDialogPermissionAttribute, &CLSID_FileDialogPermissionAttribute, &IID__FileDialogPermissionAttribute> CoFileDialogPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FileIOPermissionAttribute
// Interface: TCOM_FileIOPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FileIOPermissionAttribute, _FileIOPermissionAttribute, &CLSID_FileIOPermissionAttribute, &IID__FileIOPermissionAttribute> CoFileIOPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeyContainerPermissionAttribute
// Interface: TCOM_KeyContainerPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeyContainerPermissionAttribute, _KeyContainerPermissionAttribute, &CLSID_KeyContainerPermissionAttribute, &IID__KeyContainerPermissionAttribute> CoKeyContainerPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PrincipalPermissionAttribute
// Interface: TCOM_PrincipalPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PrincipalPermissionAttribute, _PrincipalPermissionAttribute, &CLSID_PrincipalPermissionAttribute, &IID__PrincipalPermissionAttribute> CoPrincipalPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ReflectionPermissionAttribute
// Interface: TCOM_ReflectionPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ReflectionPermissionAttribute, _ReflectionPermissionAttribute, &CLSID_ReflectionPermissionAttribute, &IID__ReflectionPermissionAttribute> CoReflectionPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RegistryPermissionAttribute
// Interface: TCOM_RegistryPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RegistryPermissionAttribute, _RegistryPermissionAttribute, &CLSID_RegistryPermissionAttribute, &IID__RegistryPermissionAttribute> CoRegistryPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SecurityPermissionAttribute
// Interface: TCOM_SecurityPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SecurityPermissionAttribute, _SecurityPermissionAttribute, &CLSID_SecurityPermissionAttribute, &IID__SecurityPermissionAttribute> CoSecurityPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UIPermissionAttribute
// Interface: TCOM_UIPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UIPermissionAttribute, _UIPermissionAttribute, &CLSID_UIPermissionAttribute, &IID__UIPermissionAttribute> CoUIPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ZoneIdentityPermissionAttribute
// Interface: TCOM_ZoneIdentityPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ZoneIdentityPermissionAttribute, _ZoneIdentityPermissionAttribute, &CLSID_ZoneIdentityPermissionAttribute, &IID__ZoneIdentityPermissionAttribute> CoZoneIdentityPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StrongNameIdentityPermissionAttribute
// Interface: TCOM_StrongNameIdentityPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StrongNameIdentityPermissionAttribute, _StrongNameIdentityPermissionAttribute, &CLSID_StrongNameIdentityPermissionAttribute, &IID__StrongNameIdentityPermissionAttribute> CoStrongNameIdentityPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SiteIdentityPermissionAttribute
// Interface: TCOM_SiteIdentityPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SiteIdentityPermissionAttribute, _SiteIdentityPermissionAttribute, &CLSID_SiteIdentityPermissionAttribute, &IID__SiteIdentityPermissionAttribute> CoSiteIdentityPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UrlIdentityPermissionAttribute
// Interface: TCOM_UrlIdentityPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UrlIdentityPermissionAttribute, _UrlIdentityPermissionAttribute, &CLSID_UrlIdentityPermissionAttribute, &IID__UrlIdentityPermissionAttribute> CoUrlIdentityPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PublisherIdentityPermissionAttribute
// Interface: TCOM_PublisherIdentityPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PublisherIdentityPermissionAttribute, _PublisherIdentityPermissionAttribute, &CLSID_PublisherIdentityPermissionAttribute, &IID__PublisherIdentityPermissionAttribute> CoPublisherIdentityPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStoragePermissionAttribute
// Interface: TCOM_IsolatedStoragePermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStoragePermissionAttribute, _IsolatedStoragePermissionAttribute, &CLSID_IsolatedStoragePermissionAttribute, &IID__IsolatedStoragePermissionAttribute> CoIsolatedStoragePermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStorageFilePermissionAttribute
// Interface: TCOM_IsolatedStorageFilePermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStorageFilePermissionAttribute, _IsolatedStorageFilePermissionAttribute, &CLSID_IsolatedStorageFilePermissionAttribute, &IID__IsolatedStorageFilePermissionAttribute> CoIsolatedStorageFilePermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PermissionSetAttribute
// Interface: TCOM_PermissionSetAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PermissionSetAttribute, _PermissionSetAttribute, &CLSID_PermissionSetAttribute, &IID__PermissionSetAttribute> CoPermissionSetAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ReflectionPermission
// Interface: TCOM_ReflectionPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ReflectionPermission, _ReflectionPermission, &CLSID_ReflectionPermission, &IID__ReflectionPermission> CoReflectionPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PrincipalPermission
// Interface: TCOM_PrincipalPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PrincipalPermission, _PrincipalPermission, &CLSID_PrincipalPermission, &IID__PrincipalPermission> CoPrincipalPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SecurityPermission
// Interface: TCOM_SecurityPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SecurityPermission, _SecurityPermission, &CLSID_SecurityPermission, &IID__SecurityPermission> CoSecurityPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SiteIdentityPermission
// Interface: TCOM_SiteIdentityPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SiteIdentityPermission, _SiteIdentityPermission, &CLSID_SiteIdentityPermission, &IID__SiteIdentityPermission> CoSiteIdentityPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StrongNameIdentityPermission
// Interface: TCOM_StrongNameIdentityPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StrongNameIdentityPermission, _StrongNameIdentityPermission, &CLSID_StrongNameIdentityPermission, &IID__StrongNameIdentityPermission> CoStrongNameIdentityPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : StrongNamePublicKeyBlob
// Interface: TCOM_StrongNamePublicKeyBlob
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_StrongNamePublicKeyBlob, _StrongNamePublicKeyBlob, &CLSID_StrongNamePublicKeyBlob, &IID__StrongNamePublicKeyBlob> CoStrongNamePublicKeyBlob;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UIPermission
// Interface: TCOM_UIPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UIPermission, _UIPermission, &CLSID_UIPermission, &IID__UIPermission> CoUIPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UrlIdentityPermission
// Interface: TCOM_UrlIdentityPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UrlIdentityPermission, _UrlIdentityPermission, &CLSID_UrlIdentityPermission, &IID__UrlIdentityPermission> CoUrlIdentityPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ZoneIdentityPermission
// Interface: TCOM_ZoneIdentityPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ZoneIdentityPermission, _ZoneIdentityPermission, &CLSID_ZoneIdentityPermission, &IID__ZoneIdentityPermission> CoZoneIdentityPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GacIdentityPermissionAttribute
// Interface: TCOM_GacIdentityPermissionAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GacIdentityPermissionAttribute, _GacIdentityPermissionAttribute, &CLSID_GacIdentityPermissionAttribute, &IID__GacIdentityPermissionAttribute> CoGacIdentityPermissionAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GacIdentityPermission
// Interface: TCOM_GacIdentityPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GacIdentityPermission, _GacIdentityPermission, &CLSID_GacIdentityPermission, &IID__GacIdentityPermission> CoGacIdentityPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeyContainerPermissionAccessEntry
// Interface: TCOM_KeyContainerPermissionAccessEntry
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeyContainerPermissionAccessEntry, _KeyContainerPermissionAccessEntry, &CLSID_KeyContainerPermissionAccessEntry, &IID__KeyContainerPermissionAccessEntry> CoKeyContainerPermissionAccessEntry;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeyContainerPermissionAccessEntryCollection
// Interface: TCOM_KeyContainerPermissionAccessEntryCollection
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeyContainerPermissionAccessEntryCollection, _KeyContainerPermissionAccessEntryCollection, &CLSID_KeyContainerPermissionAccessEntryCollection, &IID__KeyContainerPermissionAccessEntryCollection> CoKeyContainerPermissionAccessEntryCollection;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeyContainerPermissionAccessEntryEnumerator
// Interface: TCOM_KeyContainerPermissionAccessEntryEnumerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeyContainerPermissionAccessEntryEnumerator, _KeyContainerPermissionAccessEntryEnumerator, &CLSID_KeyContainerPermissionAccessEntryEnumerator, &IID__KeyContainerPermissionAccessEntryEnumerator> CoKeyContainerPermissionAccessEntryEnumerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeyContainerPermission
// Interface: TCOM_KeyContainerPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeyContainerPermission, _KeyContainerPermission, &CLSID_KeyContainerPermission, &IID__KeyContainerPermission> CoKeyContainerPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PublisherIdentityPermission
// Interface: TCOM_PublisherIdentityPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PublisherIdentityPermission, _PublisherIdentityPermission, &CLSID_PublisherIdentityPermission, &IID__PublisherIdentityPermission> CoPublisherIdentityPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RegistryPermission
// Interface: TCOM_RegistryPermission
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RegistryPermission, _RegistryPermission, &CLSID_RegistryPermission, &IID__RegistryPermission> CoRegistryPermission;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SuppressUnmanagedCodeSecurityAttribute
// Interface: TCOM_SuppressUnmanagedCodeSecurityAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SuppressUnmanagedCodeSecurityAttribute, _SuppressUnmanagedCodeSecurityAttribute, &CLSID_SuppressUnmanagedCodeSecurityAttribute, &IID__SuppressUnmanagedCodeSecurityAttribute> CoSuppressUnmanagedCodeSecurityAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnverifiableCodeAttribute
// Interface: TCOM_UnverifiableCodeAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnverifiableCodeAttribute, _UnverifiableCodeAttribute, &CLSID_UnverifiableCodeAttribute, &IID__UnverifiableCodeAttribute> CoUnverifiableCodeAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AllowPartiallyTrustedCallersAttribute
// Interface: TCOM_AllowPartiallyTrustedCallersAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AllowPartiallyTrustedCallersAttribute, _AllowPartiallyTrustedCallersAttribute, &CLSID_AllowPartiallyTrustedCallersAttribute, &IID__AllowPartiallyTrustedCallersAttribute> CoAllowPartiallyTrustedCallersAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HostSecurityManager
// Interface: TCOM_HostSecurityManager
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HostSecurityManager, _HostSecurityManager, &CLSID_HostSecurityManager, &IID__HostSecurityManager> CoHostSecurityManager;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PermissionSet
// Interface: TCOM_PermissionSet
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PermissionSet, _PermissionSet, &CLSID_PermissionSet, &IID__PermissionSet> CoPermissionSet;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : NamedPermissionSet
// Interface: TCOM_NamedPermissionSet
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_NamedPermissionSet, _NamedPermissionSet, &CLSID_NamedPermissionSet, &IID__NamedPermissionSet> CoNamedPermissionSet;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SecurityException
// Interface: TCOM_SecurityException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SecurityException, _SecurityException, &CLSID_SecurityException, &IID__SecurityException> CoSecurityException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HostProtectionException
// Interface: TCOM_HostProtectionException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HostProtectionException, _HostProtectionException, &CLSID_HostProtectionException, &IID__HostProtectionException> CoHostProtectionException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SecurityManager
// Interface: TCOM_SecurityManager
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SecurityManager, _SecurityManager, &CLSID_SecurityManager, &IID__SecurityManager> CoSecurityManager;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : VerificationException
// Interface: TCOM_VerificationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_VerificationException, _VerificationException, &CLSID_VerificationException, &IID__VerificationException> CoVerificationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ContextAttribute
// Interface: TCOM_ContextAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ContextAttribute, _ContextAttribute, &CLSID_ContextAttribute, &IID__ContextAttribute> CoContextAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AsyncResult
// Interface: TCOM_AsyncResult
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AsyncResult, _AsyncResult, &CLSID_AsyncResult, &IID__AsyncResult> CoAsyncResult;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CallContext
// Interface: TCOM_CallContext
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CallContext, _CallContext, &CLSID_CallContext, &IID__CallContext> CoCallContext;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : LogicalCallContext
// Interface: TCOM_LogicalCallContext
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LogicalCallContext, _LogicalCallContext, &CLSID_LogicalCallContext, &IID__LogicalCallContext> CoLogicalCallContext;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ChannelServices
// Interface: TCOM_ChannelServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ChannelServices, _ChannelServices, &CLSID_ChannelServices, &IID__ChannelServices> CoChannelServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ClientChannelSinkStack
// Interface: TCOM_ClientChannelSinkStack
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ClientChannelSinkStack, _ClientChannelSinkStack, &CLSID_ClientChannelSinkStack, &IID__ClientChannelSinkStack> CoClientChannelSinkStack;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ServerChannelSinkStack
// Interface: TCOM_ServerChannelSinkStack
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ServerChannelSinkStack, _ServerChannelSinkStack, &CLSID_ServerChannelSinkStack, &IID__ServerChannelSinkStack> CoServerChannelSinkStack;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ClientSponsor
// Interface: TCOM_ClientSponsor
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ClientSponsor, _ClientSponsor, &CLSID_ClientSponsor, &IID__ClientSponsor> CoClientSponsor;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CrossContextDelegate
// Interface: TCOM_CrossContextDelegate
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CrossContextDelegate, _CrossContextDelegate, &CLSID_CrossContextDelegate, &IID__CrossContextDelegate> CoCrossContextDelegate;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Context
// Interface: TCOM_Context
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Context, _Context, &CLSID_Context, &IID__Context> CoContext;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ContextProperty
// Interface: TCOM_ContextProperty
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ContextProperty, _ContextProperty, &CLSID_ContextProperty, &IID__ContextProperty> CoContextProperty;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : EnterpriseServicesHelper
// Interface: TCOM_EnterpriseServicesHelper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_EnterpriseServicesHelper, _EnterpriseServicesHelper, &CLSID_EnterpriseServicesHelper, &IID__EnterpriseServicesHelper> CoEnterpriseServicesHelper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Header
// Interface: TCOM_Header
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Header, _Header, &CLSID_Header, &IID__Header> CoHeader;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HeaderHandler
// Interface: TCOM_HeaderHandler
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HeaderHandler, _HeaderHandler, &CLSID_HeaderHandler, &IID__HeaderHandler> CoHeaderHandler;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ChannelDataStore
// Interface: TCOM_ChannelDataStore
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ChannelDataStore, _ChannelDataStore, &CLSID_ChannelDataStore, &IID__ChannelDataStore> CoChannelDataStore;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TransportHeaders
// Interface: TCOM_TransportHeaders
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TransportHeaders, _TransportHeaders, &CLSID_TransportHeaders, &IID__TransportHeaders> CoTransportHeaders;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SinkProviderData
// Interface: TCOM_SinkProviderData
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SinkProviderData, _SinkProviderData, &CLSID_SinkProviderData, &IID__SinkProviderData> CoSinkProviderData;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BaseChannelObjectWithProperties
// Interface: TCOM_BaseChannelObjectWithProperties
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BaseChannelObjectWithProperties, _BaseChannelObjectWithProperties, &CLSID_BaseChannelObjectWithProperties, &IID__BaseChannelObjectWithProperties> CoBaseChannelObjectWithProperties;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BaseChannelSinkWithProperties
// Interface: TCOM_BaseChannelSinkWithProperties
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BaseChannelSinkWithProperties, _BaseChannelSinkWithProperties, &CLSID_BaseChannelSinkWithProperties, &IID__BaseChannelSinkWithProperties> CoBaseChannelSinkWithProperties;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BaseChannelWithProperties
// Interface: TCOM_BaseChannelWithProperties
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BaseChannelWithProperties, _BaseChannelWithProperties, &CLSID_BaseChannelWithProperties, &IID__BaseChannelWithProperties> CoBaseChannelWithProperties;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : LifetimeServices
// Interface: TCOM_LifetimeServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_LifetimeServices, _LifetimeServices, &CLSID_LifetimeServices, &IID__LifetimeServices> CoLifetimeServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ReturnMessage
// Interface: TCOM_ReturnMessage
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ReturnMessage, _ReturnMessage, &CLSID_ReturnMessage, &IID__ReturnMessage> CoReturnMessage;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodCall
// Interface: TCOM_MethodCall
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodCall, _MethodCall, &CLSID_MethodCall, &IID__MethodCall> CoMethodCall;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ConstructionCall
// Interface: TCOM_ConstructionCall
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ConstructionCall, _ConstructionCall, &CLSID_ConstructionCall, &IID__ConstructionCall> CoConstructionCall;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodResponse
// Interface: TCOM_MethodResponse
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodResponse, _MethodResponse, &CLSID_MethodResponse, &IID__MethodResponse> CoMethodResponse;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ConstructionResponse
// Interface: TCOM_ConstructionResponse
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ConstructionResponse, _ConstructionResponse, &CLSID_ConstructionResponse, &IID__ConstructionResponse> CoConstructionResponse;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InternalMessageWrapper
// Interface: TCOM_InternalMessageWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InternalMessageWrapper, _InternalMessageWrapper, &CLSID_InternalMessageWrapper, &IID__InternalMessageWrapper> CoInternalMessageWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodCallMessageWrapper
// Interface: TCOM_MethodCallMessageWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodCallMessageWrapper, _MethodCallMessageWrapper, &CLSID_MethodCallMessageWrapper, &IID__MethodCallMessageWrapper> CoMethodCallMessageWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MethodReturnMessageWrapper
// Interface: TCOM_MethodReturnMessageWrapper
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MethodReturnMessageWrapper, _MethodReturnMessageWrapper, &CLSID_MethodReturnMessageWrapper, &IID__MethodReturnMessageWrapper> CoMethodReturnMessageWrapper;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObjectHandle
// Interface: TCOM_ObjectHandle
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObjectHandle, _ObjectHandle, &CLSID_ObjectHandle, &IID__ObjectHandle> CoObjectHandle;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ObjRef
// Interface: TCOM_ObjRef
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ObjRef, _ObjRef, &CLSID_ObjRef, &IID__ObjRef> CoObjRef;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OneWayAttribute
// Interface: TCOM_OneWayAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OneWayAttribute, _OneWayAttribute, &CLSID_OneWayAttribute, &IID__OneWayAttribute> CoOneWayAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ProxyAttribute
// Interface: TCOM_ProxyAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ProxyAttribute, _ProxyAttribute, &CLSID_ProxyAttribute, &IID__ProxyAttribute> CoProxyAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RealProxy
// Interface: TCOM_RealProxy
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RealProxy, _RealProxy, &CLSID_RealProxy, &IID__RealProxy> CoRealProxy;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapAttribute
// Interface: TCOM_SoapAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapAttribute, _SoapAttribute, &CLSID_SoapAttribute, &IID__SoapAttribute> CoSoapAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapTypeAttribute
// Interface: TCOM_SoapTypeAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapTypeAttribute, _SoapTypeAttribute, &CLSID_SoapTypeAttribute, &IID__SoapTypeAttribute> CoSoapTypeAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapMethodAttribute
// Interface: TCOM_SoapMethodAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapMethodAttribute, _SoapMethodAttribute, &CLSID_SoapMethodAttribute, &IID__SoapMethodAttribute> CoSoapMethodAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapFieldAttribute
// Interface: TCOM_SoapFieldAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapFieldAttribute, _SoapFieldAttribute, &CLSID_SoapFieldAttribute, &IID__SoapFieldAttribute> CoSoapFieldAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapParameterAttribute
// Interface: TCOM_SoapParameterAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapParameterAttribute, _SoapParameterAttribute, &CLSID_SoapParameterAttribute, &IID__SoapParameterAttribute> CoSoapParameterAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RemotingConfiguration
// Interface: TCOM_RemotingConfiguration
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RemotingConfiguration, _RemotingConfiguration, &CLSID_RemotingConfiguration, &IID__RemotingConfiguration> CoRemotingConfiguration;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TypeEntry
// Interface: TCOM_TypeEntry
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TypeEntry, _TypeEntry, &CLSID_TypeEntry, &IID__TypeEntry> CoTypeEntry;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ActivatedClientTypeEntry
// Interface: TCOM_ActivatedClientTypeEntry
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ActivatedClientTypeEntry, _ActivatedClientTypeEntry, &CLSID_ActivatedClientTypeEntry, &IID__ActivatedClientTypeEntry> CoActivatedClientTypeEntry;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ActivatedServiceTypeEntry
// Interface: TCOM_ActivatedServiceTypeEntry
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ActivatedServiceTypeEntry, _ActivatedServiceTypeEntry, &CLSID_ActivatedServiceTypeEntry, &IID__ActivatedServiceTypeEntry> CoActivatedServiceTypeEntry;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WellKnownClientTypeEntry
// Interface: TCOM_WellKnownClientTypeEntry
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WellKnownClientTypeEntry, _WellKnownClientTypeEntry, &CLSID_WellKnownClientTypeEntry, &IID__WellKnownClientTypeEntry> CoWellKnownClientTypeEntry;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : WellKnownServiceTypeEntry
// Interface: TCOM_WellKnownServiceTypeEntry
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_WellKnownServiceTypeEntry, _WellKnownServiceTypeEntry, &CLSID_WellKnownServiceTypeEntry, &IID__WellKnownServiceTypeEntry> CoWellKnownServiceTypeEntry;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RemotingException
// Interface: TCOM_RemotingException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RemotingException, _RemotingException, &CLSID_RemotingException, &IID__RemotingException> CoRemotingException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ServerException
// Interface: TCOM_ServerException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ServerException, _ServerException, &CLSID_ServerException, &IID__ServerException> CoServerException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RemotingTimeoutException
// Interface: TCOM_RemotingTimeoutException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RemotingTimeoutException, _RemotingTimeoutException, &CLSID_RemotingTimeoutException, &IID__RemotingTimeoutException> CoRemotingTimeoutException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RemotingServices
// Interface: TCOM_RemotingServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RemotingServices, _RemotingServices, &CLSID_RemotingServices, &IID__RemotingServices> CoRemotingServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InternalRemotingServices
// Interface: TCOM_InternalRemotingServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InternalRemotingServices, _InternalRemotingServices, &CLSID_InternalRemotingServices, &IID__InternalRemotingServices> CoInternalRemotingServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MessageSurrogateFilter
// Interface: TCOM_MessageSurrogateFilter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MessageSurrogateFilter, _MessageSurrogateFilter, &CLSID_MessageSurrogateFilter, &IID__MessageSurrogateFilter> CoMessageSurrogateFilter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RemotingSurrogateSelector
// Interface: TCOM_RemotingSurrogateSelector
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RemotingSurrogateSelector, _RemotingSurrogateSelector, &CLSID_RemotingSurrogateSelector, &IID__RemotingSurrogateSelector> CoRemotingSurrogateSelector;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapServices
// Interface: TCOM_SoapServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapServices, _SoapServices, &CLSID_SoapServices, &IID__SoapServices> CoSoapServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapDateTime
// Interface: TCOM_SoapDateTime
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapDateTime, _SoapDateTime, &CLSID_SoapDateTime, &IID__SoapDateTime> CoSoapDateTime;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapDuration
// Interface: TCOM_SoapDuration
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapDuration, _SoapDuration, &CLSID_SoapDuration, &IID__SoapDuration> CoSoapDuration;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapTime
// Interface: TCOM_SoapTime
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapTime, _SoapTime, &CLSID_SoapTime, &IID__SoapTime> CoSoapTime;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapDate
// Interface: TCOM_SoapDate
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapDate, _SoapDate, &CLSID_SoapDate, &IID__SoapDate> CoSoapDate;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapYearMonth
// Interface: TCOM_SoapYearMonth
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapYearMonth, _SoapYearMonth, &CLSID_SoapYearMonth, &IID__SoapYearMonth> CoSoapYearMonth;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapYear
// Interface: TCOM_SoapYear
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapYear, _SoapYear, &CLSID_SoapYear, &IID__SoapYear> CoSoapYear;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapMonthDay
// Interface: TCOM_SoapMonthDay
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapMonthDay, _SoapMonthDay, &CLSID_SoapMonthDay, &IID__SoapMonthDay> CoSoapMonthDay;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapDay
// Interface: TCOM_SoapDay
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapDay, _SoapDay, &CLSID_SoapDay, &IID__SoapDay> CoSoapDay;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapMonth
// Interface: TCOM_SoapMonth
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapMonth, _SoapMonth, &CLSID_SoapMonth, &IID__SoapMonth> CoSoapMonth;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapHexBinary
// Interface: TCOM_SoapHexBinary
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapHexBinary, _SoapHexBinary, &CLSID_SoapHexBinary, &IID__SoapHexBinary> CoSoapHexBinary;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapBase64Binary
// Interface: TCOM_SoapBase64Binary
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapBase64Binary, _SoapBase64Binary, &CLSID_SoapBase64Binary, &IID__SoapBase64Binary> CoSoapBase64Binary;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapInteger
// Interface: TCOM_SoapInteger
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapInteger, _SoapInteger, &CLSID_SoapInteger, &IID__SoapInteger> CoSoapInteger;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapPositiveInteger
// Interface: TCOM_SoapPositiveInteger
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapPositiveInteger, _SoapPositiveInteger, &CLSID_SoapPositiveInteger, &IID__SoapPositiveInteger> CoSoapPositiveInteger;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNonPositiveInteger
// Interface: TCOM_SoapNonPositiveInteger
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNonPositiveInteger, _SoapNonPositiveInteger, &CLSID_SoapNonPositiveInteger, &IID__SoapNonPositiveInteger> CoSoapNonPositiveInteger;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNonNegativeInteger
// Interface: TCOM_SoapNonNegativeInteger
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNonNegativeInteger, _SoapNonNegativeInteger, &CLSID_SoapNonNegativeInteger, &IID__SoapNonNegativeInteger> CoSoapNonNegativeInteger;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNegativeInteger
// Interface: TCOM_SoapNegativeInteger
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNegativeInteger, _SoapNegativeInteger, &CLSID_SoapNegativeInteger, &IID__SoapNegativeInteger> CoSoapNegativeInteger;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapAnyUri
// Interface: TCOM_SoapAnyUri
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapAnyUri, _SoapAnyUri, &CLSID_SoapAnyUri, &IID__SoapAnyUri> CoSoapAnyUri;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapQName
// Interface: TCOM_SoapQName
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapQName, _SoapQName, &CLSID_SoapQName, &IID__SoapQName> CoSoapQName;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNotation
// Interface: TCOM_SoapNotation
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNotation, _SoapNotation, &CLSID_SoapNotation, &IID__SoapNotation> CoSoapNotation;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNormalizedString
// Interface: TCOM_SoapNormalizedString
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNormalizedString, _SoapNormalizedString, &CLSID_SoapNormalizedString, &IID__SoapNormalizedString> CoSoapNormalizedString;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapToken
// Interface: TCOM_SoapToken
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapToken, _SoapToken, &CLSID_SoapToken, &IID__SoapToken> CoSoapToken;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapLanguage
// Interface: TCOM_SoapLanguage
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapLanguage, _SoapLanguage, &CLSID_SoapLanguage, &IID__SoapLanguage> CoSoapLanguage;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapName
// Interface: TCOM_SoapName
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapName, _SoapName, &CLSID_SoapName, &IID__SoapName> CoSoapName;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapIdrefs
// Interface: TCOM_SoapIdrefs
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapIdrefs, _SoapIdrefs, &CLSID_SoapIdrefs, &IID__SoapIdrefs> CoSoapIdrefs;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapEntities
// Interface: TCOM_SoapEntities
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapEntities, _SoapEntities, &CLSID_SoapEntities, &IID__SoapEntities> CoSoapEntities;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNmtoken
// Interface: TCOM_SoapNmtoken
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNmtoken, _SoapNmtoken, &CLSID_SoapNmtoken, &IID__SoapNmtoken> CoSoapNmtoken;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNmtokens
// Interface: TCOM_SoapNmtokens
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNmtokens, _SoapNmtokens, &CLSID_SoapNmtokens, &IID__SoapNmtokens> CoSoapNmtokens;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapNcName
// Interface: TCOM_SoapNcName
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapNcName, _SoapNcName, &CLSID_SoapNcName, &IID__SoapNcName> CoSoapNcName;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapId
// Interface: TCOM_SoapId
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapId, _SoapId, &CLSID_SoapId, &IID__SoapId> CoSoapId;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapIdref
// Interface: TCOM_SoapIdref
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapIdref, _SoapIdref, &CLSID_SoapIdref, &IID__SoapIdref> CoSoapIdref;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapEntity
// Interface: TCOM_SoapEntity
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapEntity, _SoapEntity, &CLSID_SoapEntity, &IID__SoapEntity> CoSoapEntity;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SynchronizationAttribute
// Interface: TCOM_SynchronizationAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SynchronizationAttribute, _SynchronizationAttribute, &CLSID_SynchronizationAttribute, &IID__SynchronizationAttribute> CoSynchronizationAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TrackingServices
// Interface: TCOM_TrackingServices
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TrackingServices, _TrackingServices, &CLSID_TrackingServices, &IID__TrackingServices> CoTrackingServices;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UrlAttribute
// Interface: TCOM_UrlAttribute
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UrlAttribute, _UrlAttribute, &CLSID_UrlAttribute, &IID__UrlAttribute> CoUrlAttribute;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStorage
// Interface: TCOM_IsolatedStorage
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStorage, _IsolatedStorage, &CLSID_IsolatedStorage, &IID__IsolatedStorage> CoIsolatedStorage;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStorageFile
// Interface: TCOM_IsolatedStorageFile
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStorageFile, _IsolatedStorageFile, &CLSID_IsolatedStorageFile, &IID__IsolatedStorageFile> CoIsolatedStorageFile;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStorageFileStream
// Interface: TCOM_IsolatedStorageFileStream
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStorageFileStream, _IsolatedStorageFileStream, &CLSID_IsolatedStorageFileStream, &IID__IsolatedStorageFileStream> CoIsolatedStorageFileStream;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : IsolatedStorageException
// Interface: TCOM_IsolatedStorageException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_IsolatedStorageException, _IsolatedStorageException, &CLSID_IsolatedStorageException, &IID__IsolatedStorageException> CoIsolatedStorageException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InternalRM
// Interface: TCOM_InternalRM
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InternalRM, _InternalRM, &CLSID_InternalRM, &IID__InternalRM> CoInternalRM;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : InternalST
// Interface: TCOM_InternalST
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_InternalST, _InternalST, &CLSID_InternalST, &IID__InternalST> CoInternalST;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapMessage
// Interface: TCOM_SoapMessage
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapMessage, _SoapMessage, &CLSID_SoapMessage, &IID__SoapMessage> CoSoapMessage;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SoapFault
// Interface: TCOM_SoapFault
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SoapFault, _SoapFault, &CLSID_SoapFault, &IID__SoapFault> CoSoapFault;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ServerFault
// Interface: TCOM_ServerFault
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ServerFault, _ServerFault, &CLSID_ServerFault, &IID__ServerFault> CoServerFault;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : BinaryFormatter
// Interface: TCOM_BinaryFormatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_BinaryFormatter, _BinaryFormatter, &CLSID_BinaryFormatter, &IID__BinaryFormatter> CoBinaryFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DynamicILInfo
// Interface: TCOM_DynamicILInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DynamicILInfo, _DynamicILInfo, &CLSID_DynamicILInfo, &IID__DynamicILInfo> CoDynamicILInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DynamicMethod
// Interface: TCOM_DynamicMethod
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DynamicMethod, _DynamicMethod, &CLSID_DynamicMethod, &IID__DynamicMethod> CoDynamicMethod;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : OpCodes
// Interface: TCOM_OpCodes
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_OpCodes, _OpCodes, &CLSID_OpCodes, &IID__OpCodes> CoOpCodes;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : GenericTypeParameterBuilder
// Interface: TCOM_GenericTypeParameterBuilder
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_GenericTypeParameterBuilder, _GenericTypeParameterBuilder, &CLSID_GenericTypeParameterBuilder, &IID__GenericTypeParameterBuilder> CoGenericTypeParameterBuilder;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : UnmanagedMarshal
// Interface: TCOM_UnmanagedMarshal
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_UnmanagedMarshal, _UnmanagedMarshal, &CLSID_UnmanagedMarshal, &IID__UnmanagedMarshal> CoUnmanagedMarshal;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeySizes
// Interface: TCOM_KeySizes
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeySizes, _KeySizes, &CLSID_KeySizes, &IID__KeySizes> CoKeySizes;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CryptographicException
// Interface: TCOM_CryptographicException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CryptographicException, _CryptographicException, &CLSID_CryptographicException, &IID__CryptographicException> CoCryptographicException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CryptographicUnexpectedOperationException
// Interface: TCOM_CryptographicUnexpectedOperationException
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CryptographicUnexpectedOperationException, _CryptographicUnexpectedOperationException, &CLSID_CryptographicUnexpectedOperationException, &IID__CryptographicUnexpectedOperationException> CoCryptographicUnexpectedOperationException;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RandomNumberGenerator
// Interface: TCOM_RandomNumberGenerator
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RandomNumberGenerator, _RandomNumberGenerator, &CLSID_RandomNumberGenerator, &IID__RandomNumberGenerator> CoRandomNumberGenerator;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RNGCryptoServiceProvider
// Interface: TCOM_RNGCryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RNGCryptoServiceProvider, _RNGCryptoServiceProvider, &CLSID_RNGCryptoServiceProvider, &IID__RNGCryptoServiceProvider> CoRNGCryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AsymmetricAlgorithm
// Interface: TCOM_AsymmetricAlgorithm
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AsymmetricAlgorithm, _AsymmetricAlgorithm, &CLSID_AsymmetricAlgorithm, &IID__AsymmetricAlgorithm> CoAsymmetricAlgorithm;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AsymmetricKeyExchangeDeformatter
// Interface: TCOM_AsymmetricKeyExchangeDeformatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AsymmetricKeyExchangeDeformatter, _AsymmetricKeyExchangeDeformatter, &CLSID_AsymmetricKeyExchangeDeformatter, &IID__AsymmetricKeyExchangeDeformatter> CoAsymmetricKeyExchangeDeformatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AsymmetricKeyExchangeFormatter
// Interface: TCOM_AsymmetricKeyExchangeFormatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AsymmetricKeyExchangeFormatter, _AsymmetricKeyExchangeFormatter, &CLSID_AsymmetricKeyExchangeFormatter, &IID__AsymmetricKeyExchangeFormatter> CoAsymmetricKeyExchangeFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AsymmetricSignatureDeformatter
// Interface: TCOM_AsymmetricSignatureDeformatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AsymmetricSignatureDeformatter, _AsymmetricSignatureDeformatter, &CLSID_AsymmetricSignatureDeformatter, &IID__AsymmetricSignatureDeformatter> CoAsymmetricSignatureDeformatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : AsymmetricSignatureFormatter
// Interface: TCOM_AsymmetricSignatureFormatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_AsymmetricSignatureFormatter, _AsymmetricSignatureFormatter, &CLSID_AsymmetricSignatureFormatter, &IID__AsymmetricSignatureFormatter> CoAsymmetricSignatureFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : ToBase64Transform
// Interface: TCOM_ToBase64Transform
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_ToBase64Transform, _ToBase64Transform, &CLSID_ToBase64Transform, &IID__ToBase64Transform> CoToBase64Transform;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : FromBase64Transform
// Interface: TCOM_FromBase64Transform
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_FromBase64Transform, _FromBase64Transform, &CLSID_FromBase64Transform, &IID__FromBase64Transform> CoFromBase64Transform;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CryptoAPITransform
// Interface: TCOM_CryptoAPITransform
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CryptoAPITransform, _CryptoAPITransform, &CLSID_CryptoAPITransform, &IID__CryptoAPITransform> CoCryptoAPITransform;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CspParameters
// Interface: TCOM_CspParameters
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CspParameters, _CspParameters, &CLSID_CspParameters, &IID__CspParameters> CoCspParameters;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CryptoConfig
// Interface: TCOM_CryptoConfig
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CryptoConfig, _CryptoConfig, &CLSID_CryptoConfig, &IID__CryptoConfig> CoCryptoConfig;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CryptoStream
// Interface: TCOM_CryptoStream
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CryptoStream, _CryptoStream, &CLSID_CryptoStream, &IID__CryptoStream> CoCryptoStream;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SymmetricAlgorithm
// Interface: TCOM_SymmetricAlgorithm
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SymmetricAlgorithm, _SymmetricAlgorithm, &CLSID_SymmetricAlgorithm, &IID__SymmetricAlgorithm> CoSymmetricAlgorithm;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DES
// Interface: TCOM_DES
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DES, _DES, &CLSID_DES, &IID__DES> CoDES;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DESCryptoServiceProvider
// Interface: TCOM_DESCryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DESCryptoServiceProvider, _DESCryptoServiceProvider, &CLSID_DESCryptoServiceProvider, &IID__DESCryptoServiceProvider> CoDESCryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DeriveBytes
// Interface: TCOM_DeriveBytes
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DeriveBytes, _DeriveBytes, &CLSID_DeriveBytes, &IID__DeriveBytes> CoDeriveBytes;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DSA
// Interface: TCOM_DSA
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DSA, _DSA, &CLSID_DSA, &IID__DSA> CoDSA;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DSACryptoServiceProvider
// Interface: TCOM_DSACryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DSACryptoServiceProvider, _DSACryptoServiceProvider, &CLSID_DSACryptoServiceProvider, &IID__DSACryptoServiceProvider> CoDSACryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DSASignatureDeformatter
// Interface: TCOM_DSASignatureDeformatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DSASignatureDeformatter, _DSASignatureDeformatter, &CLSID_DSASignatureDeformatter, &IID__DSASignatureDeformatter> CoDSASignatureDeformatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : DSASignatureFormatter
// Interface: TCOM_DSASignatureFormatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_DSASignatureFormatter, _DSASignatureFormatter, &CLSID_DSASignatureFormatter, &IID__DSASignatureFormatter> CoDSASignatureFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HashAlgorithm
// Interface: TCOM_HashAlgorithm
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HashAlgorithm, _HashAlgorithm, &CLSID_HashAlgorithm, &IID__HashAlgorithm> CoHashAlgorithm;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : KeyedHashAlgorithm
// Interface: TCOM_KeyedHashAlgorithm
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_KeyedHashAlgorithm, _KeyedHashAlgorithm, &CLSID_KeyedHashAlgorithm, &IID__KeyedHashAlgorithm> CoKeyedHashAlgorithm;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HMAC
// Interface: TCOM_HMAC
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HMAC, _HMAC, &CLSID_HMAC, &IID__HMAC> CoHMAC;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HMACMD5
// Interface: TCOM_HMACMD5
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HMACMD5, _HMACMD5, &CLSID_HMACMD5, &IID__HMACMD5> CoHMACMD5;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HMACRIPEMD160
// Interface: TCOM_HMACRIPEMD160
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HMACRIPEMD160, _HMACRIPEMD160, &CLSID_HMACRIPEMD160, &IID__HMACRIPEMD160> CoHMACRIPEMD160;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HMACSHA1
// Interface: TCOM_HMACSHA1
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HMACSHA1, _HMACSHA1, &CLSID_HMACSHA1, &IID__HMACSHA1> CoHMACSHA1;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HMACSHA256
// Interface: TCOM_HMACSHA256
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HMACSHA256, _HMACSHA256, &CLSID_HMACSHA256, &IID__HMACSHA256> CoHMACSHA256;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HMACSHA384
// Interface: TCOM_HMACSHA384
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HMACSHA384, _HMACSHA384, &CLSID_HMACSHA384, &IID__HMACSHA384> CoHMACSHA384;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : HMACSHA512
// Interface: TCOM_HMACSHA512
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_HMACSHA512, _HMACSHA512, &CLSID_HMACSHA512, &IID__HMACSHA512> CoHMACSHA512;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : CspKeyContainerInfo
// Interface: TCOM_CspKeyContainerInfo
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_CspKeyContainerInfo, _CspKeyContainerInfo, &CLSID_CspKeyContainerInfo, &IID__CspKeyContainerInfo> CoCspKeyContainerInfo;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MACTripleDES
// Interface: TCOM_MACTripleDES
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MACTripleDES, _MACTripleDES, &CLSID_MACTripleDES, &IID__MACTripleDES> CoMACTripleDES;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MD5
// Interface: TCOM_MD5
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MD5, _MD5, &CLSID_MD5, &IID__MD5> CoMD5;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MD5CryptoServiceProvider
// Interface: TCOM_MD5CryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MD5CryptoServiceProvider, _MD5CryptoServiceProvider, &CLSID_MD5CryptoServiceProvider, &IID__MD5CryptoServiceProvider> CoMD5CryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : MaskGenerationMethod
// Interface: TCOM_MaskGenerationMethod
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_MaskGenerationMethod, _MaskGenerationMethod, &CLSID_MaskGenerationMethod, &IID__MaskGenerationMethod> CoMaskGenerationMethod;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PasswordDeriveBytes
// Interface: TCOM_PasswordDeriveBytes
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PasswordDeriveBytes, _PasswordDeriveBytes, &CLSID_PasswordDeriveBytes, &IID__PasswordDeriveBytes> CoPasswordDeriveBytes;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : PKCS1MaskGenerationMethod
// Interface: TCOM_PKCS1MaskGenerationMethod
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_PKCS1MaskGenerationMethod, _PKCS1MaskGenerationMethod, &CLSID_PKCS1MaskGenerationMethod, &IID__PKCS1MaskGenerationMethod> CoPKCS1MaskGenerationMethod;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RC2
// Interface: TCOM_RC2
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RC2, _RC2, &CLSID_RC2, &IID__RC2> CoRC2;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RC2CryptoServiceProvider
// Interface: TCOM_RC2CryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RC2CryptoServiceProvider, _RC2CryptoServiceProvider, &CLSID_RC2CryptoServiceProvider, &IID__RC2CryptoServiceProvider> CoRC2CryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Rfc2898DeriveBytes
// Interface: TCOM_Rfc2898DeriveBytes
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Rfc2898DeriveBytes, _Rfc2898DeriveBytes, &CLSID_Rfc2898DeriveBytes, &IID__Rfc2898DeriveBytes> CoRfc2898DeriveBytes;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RIPEMD160
// Interface: TCOM_RIPEMD160
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RIPEMD160, _RIPEMD160, &CLSID_RIPEMD160, &IID__RIPEMD160> CoRIPEMD160;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RIPEMD160Managed
// Interface: TCOM_RIPEMD160Managed
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RIPEMD160Managed, _RIPEMD160Managed, &CLSID_RIPEMD160Managed, &IID__RIPEMD160Managed> CoRIPEMD160Managed;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSA
// Interface: TCOM_RSA
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSA, _RSA, &CLSID_RSA, &IID__RSA> CoRSA;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSACryptoServiceProvider
// Interface: TCOM_RSACryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSACryptoServiceProvider, _RSACryptoServiceProvider, &CLSID_RSACryptoServiceProvider, &IID__RSACryptoServiceProvider> CoRSACryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSAOAEPKeyExchangeDeformatter
// Interface: TCOM_RSAOAEPKeyExchangeDeformatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSAOAEPKeyExchangeDeformatter, _RSAOAEPKeyExchangeDeformatter, &CLSID_RSAOAEPKeyExchangeDeformatter, &IID__RSAOAEPKeyExchangeDeformatter> CoRSAOAEPKeyExchangeDeformatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSAOAEPKeyExchangeFormatter
// Interface: TCOM_RSAOAEPKeyExchangeFormatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSAOAEPKeyExchangeFormatter, _RSAOAEPKeyExchangeFormatter, &CLSID_RSAOAEPKeyExchangeFormatter, &IID__RSAOAEPKeyExchangeFormatter> CoRSAOAEPKeyExchangeFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSAPKCS1KeyExchangeDeformatter
// Interface: TCOM_RSAPKCS1KeyExchangeDeformatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSAPKCS1KeyExchangeDeformatter, _RSAPKCS1KeyExchangeDeformatter, &CLSID_RSAPKCS1KeyExchangeDeformatter, &IID__RSAPKCS1KeyExchangeDeformatter> CoRSAPKCS1KeyExchangeDeformatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSAPKCS1KeyExchangeFormatter
// Interface: TCOM_RSAPKCS1KeyExchangeFormatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSAPKCS1KeyExchangeFormatter, _RSAPKCS1KeyExchangeFormatter, &CLSID_RSAPKCS1KeyExchangeFormatter, &IID__RSAPKCS1KeyExchangeFormatter> CoRSAPKCS1KeyExchangeFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSAPKCS1SignatureDeformatter
// Interface: TCOM_RSAPKCS1SignatureDeformatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSAPKCS1SignatureDeformatter, _RSAPKCS1SignatureDeformatter, &CLSID_RSAPKCS1SignatureDeformatter, &IID__RSAPKCS1SignatureDeformatter> CoRSAPKCS1SignatureDeformatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RSAPKCS1SignatureFormatter
// Interface: TCOM_RSAPKCS1SignatureFormatter
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RSAPKCS1SignatureFormatter, _RSAPKCS1SignatureFormatter, &CLSID_RSAPKCS1SignatureFormatter, &IID__RSAPKCS1SignatureFormatter> CoRSAPKCS1SignatureFormatter;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : Rijndael
// Interface: TCOM_Rijndael
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_Rijndael, _Rijndael, &CLSID_Rijndael, &IID__Rijndael> CoRijndael;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RijndaelManaged
// Interface: TCOM_RijndaelManaged
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RijndaelManaged, _RijndaelManaged, &CLSID_RijndaelManaged, &IID__RijndaelManaged> CoRijndaelManaged;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : RijndaelManagedTransform
// Interface: TCOM_RijndaelManagedTransform
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_RijndaelManagedTransform, _RijndaelManagedTransform, &CLSID_RijndaelManagedTransform, &IID__RijndaelManagedTransform> CoRijndaelManagedTransform;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA1
// Interface: TCOM_SHA1
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA1, _SHA1, &CLSID_SHA1, &IID__SHA1> CoSHA1;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA1CryptoServiceProvider
// Interface: TCOM_SHA1CryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA1CryptoServiceProvider, _SHA1CryptoServiceProvider, &CLSID_SHA1CryptoServiceProvider, &IID__SHA1CryptoServiceProvider> CoSHA1CryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA1Managed
// Interface: TCOM_SHA1Managed
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA1Managed, _SHA1Managed, &CLSID_SHA1Managed, &IID__SHA1Managed> CoSHA1Managed;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA256
// Interface: TCOM_SHA256
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA256, _SHA256, &CLSID_SHA256, &IID__SHA256> CoSHA256;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA256Managed
// Interface: TCOM_SHA256Managed
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA256Managed, _SHA256Managed, &CLSID_SHA256Managed, &IID__SHA256Managed> CoSHA256Managed;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA384
// Interface: TCOM_SHA384
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA384, _SHA384, &CLSID_SHA384, &IID__SHA384> CoSHA384;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA384Managed
// Interface: TCOM_SHA384Managed
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA384Managed, _SHA384Managed, &CLSID_SHA384Managed, &IID__SHA384Managed> CoSHA384Managed;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA512
// Interface: TCOM_SHA512
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA512, _SHA512, &CLSID_SHA512, &IID__SHA512> CoSHA512;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SHA512Managed
// Interface: TCOM_SHA512Managed
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SHA512Managed, _SHA512Managed, &CLSID_SHA512Managed, &IID__SHA512Managed> CoSHA512Managed;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : SignatureDescription
// Interface: TCOM_SignatureDescription
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_SignatureDescription, _SignatureDescription, &CLSID_SignatureDescription, &IID__SignatureDescription> CoSignatureDescription;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TripleDES
// Interface: TCOM_TripleDES
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TripleDES, _TripleDES, &CLSID_TripleDES, &IID__TripleDES> CoTripleDES;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : TripleDESCryptoServiceProvider
// Interface: TCOM_TripleDESCryptoServiceProvider
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_TripleDESCryptoServiceProvider, _TripleDESCryptoServiceProvider, &CLSID_TripleDESCryptoServiceProvider, &IID__TripleDESCryptoServiceProvider> CoTripleDESCryptoServiceProvider;

// *********************************************************************//
// CREATEUR INTERFACE DEFAUT DE COCLASS
// CoClass  : X509Certificate
// Interface: TCOM_X509Certificate
// *********************************************************************//
typedef TCoClassCreatorT<TCOM_X509Certificate, _X509Certificate, &CLSID_X509Certificate, &IID__X509Certificate> CoX509Certificate;
#endif  //   __TLB_NO_INTERFACE_WRAPPERS


};     // namespace Mscorlib_tlb

#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using  namespace Mscorlib_tlb;
#endif

#pragma option pop

#endif // __mscorlib_TLB_h__
